/* $Id: explosion.hpp,v 1.9 2005/11/13 11:35:14 uwe Exp $ */ #ifndef _EXPLOSION_HPP_ #define _EXPLOSION_HPP_ /**********************************************************/ #include "noncollidableobject.hpp" /**********************************************************/ class Explosion : public NonCollidableObject { public: Explosion(); ~Explosion() {} inline Sint32 getSize() const { return m_size; } void setSize( const Sint32 size ); //! returns the minimal choosable explosion size static Sint32 getMinSize() { return 0; } //! returns the maximal choosable explosion size static Sint32 getMaxSize() { return BIGGEST_EXPLOSION - SMALLEST_EXPLOSION; } //! returns object ID, built out of base ID + size Sint32 getID() const { return SMALLEST_EXPLOSION + m_size; } //! updates the object void update(); virtual Uint32 getSerializeBufferSize() const; virtual void serialize( Uint8*& bufferPointer ) const; virtual void deserialize( Uint8*& bufferPointer ); protected: Sint32 m_size; real m_AccumulatedDT; }; /**********************************************************/ #endif // _EXPLOSION_HPP_