/* game/ship.h This file is part of the Osirion project and is distributed under the terms and conditions of the GNU General Public License version 2 */ #ifndef __INCLUDED_GAME_SHIP_H__ #define __INCLUDED_GAME_SHIP_H__ #include "core/player.h" #include "core/entity.h" #include "game/shipmodel.h" #include "math/vector3f.h" namespace game { /// A ship in the game, controled by a player class Ship : public core::EntityControlable { public: Ship(core::Player *owner, ShipModel *shipmodel); ~Ship(); /// update the ship state virtual void frame(float seconds); /// true if the ship is equiped with a jumpdrive inline bool jumpdrive() const { return ship_jumpdrive; } private: ShipModel *ship_shipmodel; float current_target_direction; float current_target_pitch; float current_target_roll; bool ship_jumpdrive; }; } #endif // __INCLUDED_GAME_SHIP_H__