/* $Id: helicopter.hpp,v 1.3.4.1 2006/01/20 11:33:52 chfreund Exp $ */ #ifndef _HELICOPTER_HPP_ #define _HELICOPTER_HPP_ /**********************************************************/ #include #include "collidableobject.hpp" #include "audio.hpp" /**********************************************************/ class Helicopter : public CollidableObject { friend class WeaponHelicopter; public: Helicopter(); ~Helicopter(); //! overwritten from class Object virtual Sint32 getID() const { return HELICOPTER; } bool initialize( const Vector& pos, const Vector& vel, const Uint8 owner ); virtual void update(); virtual void explode(); void updateSpriteSelection(); //! \name (de)serialization //@{ virtual void serialize( Uint8*& bufferPointer ) const; virtual void deserialize( Uint8*& bufferPointer ); virtual Uint32 getSerializeBufferSize() const; //@} virtual void dump( std::ostream& out ) const; protected: Uint8 m_owner; //!< player ID (Player::getPlayerID()) of the owner bool m_ownerHasControl; real m_angle; Sint32 m_fuel; static Mix_Chunk *m_explodeSample, *m_damageSample; }; /**********************************************************/ #endif // _HELICOPTER_HPP_