X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fparticlesystem.h;h=e2a7f1ab588fa12d159506cdea04c28f38e99c5e;hb=828b5e1ef1cb89d830735f24dd79bbd9b09d5b32;hp=11bff4a00d6db292707873e4a68fe0cb57ce9fdd;hpb=03fe5c560a616e7d38a8b1d5d11bfe4675fa8896;p=supertux.git diff --git a/src/particlesystem.h b/src/particlesystem.h index 11bff4a00..e2a7f1ab5 100644 --- a/src/particlesystem.h +++ b/src/particlesystem.h @@ -23,7 +23,9 @@ #include #include "screen/texture.h" #include "game_object.h" +#include "serializable.h" +class LispReader; class DisplayManager; /** @@ -50,6 +52,8 @@ public: virtual void draw(DrawingContext& context); protected: + int layer; + class Particle { public: @@ -64,12 +68,15 @@ protected: float virtual_width, virtual_height; }; -class SnowParticleSystem : public ParticleSystem +class SnowParticleSystem : public ParticleSystem, public Serializable { public: SnowParticleSystem(); virtual ~SnowParticleSystem(); + void parse(LispReader& reader); + void write(LispWriter& writer); + virtual void action(float elapsed_time); std::string type() const @@ -85,12 +92,15 @@ private: Surface* snowimages[3]; }; -class CloudParticleSystem : public ParticleSystem +class CloudParticleSystem : public ParticleSystem, public Serializable { public: CloudParticleSystem(); virtual ~CloudParticleSystem(); + void parse(LispReader& reader); + void write(LispWriter& writer); + virtual void action(float elapsed_time); std::string type() const