X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fgameobjs.h;h=197273f0aac01cfc0584111fe3fa2b0406a79f5e;hb=42503cac8eac1199cccec2d4fbed7fde41a2bb55;hp=04665be986a8d04d1f596b6ca676195065f1d375;hpb=bb1bc5a5db8e4e81646b3a006e8f8b5931cf1d2b;p=supertux.git diff --git a/src/gameobjs.h b/src/gameobjs.h index 04665be98..197273f0a 100644 --- a/src/gameobjs.h +++ b/src/gameobjs.h @@ -91,17 +91,18 @@ private: TileId& shape; }; -class FloatingScore : public GameObject +class FloatingText : public GameObject { public: - FloatingScore(const Vector& pos, int s); + FloatingText(const Vector& pos, const std::string& text_); + FloatingText(const Vector& pos, int s); // use this for score, for instance virtual void action(float elapsed_time); virtual void draw(DrawingContext& context); private: Vector position; - char str[10]; + std::string text; Timer timer; }; @@ -176,6 +177,29 @@ private: Vector position; }; +class Particles : public GameObject +{ +public: + Particles(const Vector& epicenter, const Vector& velocity, const Vector& acceleration, int number, Color color, int size, int life_time); + ~Particles(); + + virtual void action(float elapsed_time); + virtual void draw(DrawingContext& context); + +private: + Color color; + float size; + Vector vel, accel; + Timer timer; + bool live_forever; + + struct Particle { + Vector pos; + float angle; + }; + std::vector particles; +}; + void load_object_gfx(); #endif