X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Fparticlesystem.hpp;h=32259b16c2f74a13f7e6314e834def6598a34334;hb=78ac7aef674f518549f96160c6354b589553f952;hp=6671ef03d4eef8a8ef215bbbc5897bccb2f4c06a;hpb=08813a74da6ac1fd045a105e4e8105f1d7f716f0;p=supertux.git diff --git a/src/object/particlesystem.hpp b/src/object/particlesystem.hpp index 6671ef03d..32259b16c 100644 --- a/src/object/particlesystem.hpp +++ b/src/object/particlesystem.hpp @@ -24,7 +24,6 @@ #include "util/reader.hpp" class Surface; - class DisplayManager; /** @@ -51,93 +50,30 @@ public: virtual void draw(DrawingContext& context); protected: - float max_particle_size; - int z_pos; - class Particle { public: + Particle() : + pos(), + texture() + {} + virtual ~Particle() - { } + {} Vector pos; Surface* texture; - }; - - std::vector particles; - float virtual_width, virtual_height; -}; - -class SnowParticleSystem : public ParticleSystem -{ -public: - SnowParticleSystem(); - virtual ~SnowParticleSystem(); - void parse(const Reader& lisp); - - virtual void update(float elapsed_time); - - std::string type() const - { return "SnowParticleSystem"; } - -private: - class SnowParticle : public Particle - { - public: - float speed; - float wobble; - float anchorx; - float drift_speed; + private: + Particle(const Particle&); + Particle& operator=(const Particle&); }; - Surface* snowimages[3]; -}; - -class GhostParticleSystem : public ParticleSystem -{ -public: - GhostParticleSystem(); - virtual ~GhostParticleSystem(); - - void parse(const Reader& lisp); - - virtual void update(float elapsed_time); - - std::string type() const - { return "GhostParticleSystem"; } - -private: - class GhostParticle : public Particle - { - public: - float speed; - }; - - Surface* ghosts[2]; -}; - -class CloudParticleSystem : public ParticleSystem -{ -public: - CloudParticleSystem(); - virtual ~CloudParticleSystem(); - - void parse(const Reader& lisp); - - virtual void update(float elapsed_time); - - std::string type() const - { return "CloudParticleSystem"; } - -private: - class CloudParticle : public Particle - { - public: - float speed; - }; - - Surface* cloudimage; + float max_particle_size; + int z_pos; + std::vector particles; + float virtual_width; + float virtual_height; }; #endif