#include "video/surface.h"
#include "game_object.h"
#include "serializable.h"
+#include "sector.h"
+#include "math/vector.h"
namespace lisp {
class Lisp;
* layer where it should be drawn and a texture.
* The coordinate system used here is a virtual one. It would be a bad idea to
* populate whole levels with particles. So we're using a virtual rectangle
- * here that is tiled onto the level when drawing. This rectangle has the size
+ * here that is tiled onto the level when drawing. This rect.has the size
* (virtual_width, virtual_height). We're using modulo on the particle
* coordinates, so when a particle leaves left, it'll reenter at the right
* side.
void parse(const lisp::Lisp& lisp);
void write(lisp::Writer& writer);
- virtual void action(float elapsed_time);
+ virtual void update(float elapsed_time);
std::string type() const
{ return "SnowParticleSystem"; }
Surface* snowimages[3];
};
-class RainParticleSystem : public ParticleSystem, public Serializable
-{
-public:
- RainParticleSystem();
- virtual ~RainParticleSystem();
-
- void parse(const lisp::Lisp& lisp);
- void write(lisp::Writer& writer);
-
- virtual void action(float elapsed_time);
-
- std::string type() const
- { return "RainParticleSystem"; }
-
-private:
- class RainParticle : public Particle
- {
- public:
- float speed;
- };
-
- Surface* rainimages[2];
-};
-
class CloudParticleSystem : public ParticleSystem, public Serializable
{
public:
void parse(const lisp::Lisp& lisp);
void write(lisp::Writer& writer);
- virtual void action(float elapsed_time);
+ virtual void update(float elapsed_time);
std::string type() const
{ return "SnowParticleSystem"; }