X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Fparticlesystem.hpp;h=d49506245171a6d7b183a796d93e895454dbab6f;hb=555d1b7bebb45326d82d934e07463209837309b0;hp=5983570c533f2d6a23ffe8d8cbf51d8d5a7cbbaa;hpb=07ddaed2a657e4d2a3d038fed223fc5827159caf;p=supertux.git diff --git a/src/object/particlesystem.hpp b/src/object/particlesystem.hpp index 5983570c5..d49506245 100644 --- a/src/object/particlesystem.hpp +++ b/src/object/particlesystem.hpp @@ -52,13 +52,14 @@ class DisplayManager; class ParticleSystem : public GameObject { public: - ParticleSystem(); + ParticleSystem(float max_particle_size = 60); virtual ~ParticleSystem(); - + virtual void draw(DrawingContext& context); protected: - int layer; + float max_particle_size; + int z_pos; class Particle { @@ -69,7 +70,7 @@ protected: Vector pos; Surface* texture; }; - + std::vector particles; float virtual_width, virtual_height; }; @@ -87,14 +88,17 @@ public: std::string type() const { return "SnowParticleSystem"; } - + private: class SnowParticle : public Particle { public: float speed; + float wobble; + float anchorx; + float drift_speed; }; - + Surface* snowimages[3]; }; @@ -111,14 +115,14 @@ public: std::string type() const { return "GhostParticleSystem"; } - + private: class GhostParticle : public Particle { public: float speed; }; - + Surface* ghosts[2]; }; @@ -134,17 +138,16 @@ public: virtual void update(float elapsed_time); std::string type() const - { return "CloudParticleSystem"; } - + { return "CloudParticleSystem"; } + private: class CloudParticle : public Particle { public: float speed; }; - + Surface* cloudimage; }; #endif -