/*! * @file bomb.h * @brief description */ #ifndef _BOMB_H #define _BOMB_H #include "projectile.h" class FastFactory; class SpriteParticles; class ParticleEmitter; class Material; //! A Class to ... class Bomb : public Projectile { ObjectListDeclaration(Bomb); public: Bomb(const TiXmlElement* root = NULL); virtual ~Bomb(); virtual void loadParams(const TiXmlElement* root); void init(); // virtual void postSpawn (); // virtual void leftWorld (); virtual void draw() const; virtual void tick(float time); virtual void collidesWith (WorldEntity* entity, const Vector& location); virtual void activate(); virtual void deactivate(); void detonate(float size); private: static FastFactory* fastFactory; static SpriteParticles* trailParticles; static SpriteParticles* explosionParticles; ParticleEmitter* emitter; Model* detonationSphere; Material* detonationMaterial; }; #endif /* BOMB */