/* ship.h This file is part of the Osirion project */ #ifndef __INCLUDED_SHIP_H__ #define __INCLUDED_SHIP_H__ // project headers #include "common/vector3f.h" class Ship { public: Ship(); ~Ship(); /// update the ship state void update(float elapsed); /// location of the ship in space Vector3f location; /// speed vector in units/second float speed; /// turn left, increase yaw_offset void turn_left(); /// turn right, decrease yaw_offset void turn_right(); /// yaw, angle in the x/z plane float yaw; /// increase thrust void thrust_increase(); /// decrease thrust void thrust_decrease(); /// forward thruster in % [0-1] float thrust; /* -- Ship SPECS --*/ /// acceleration float acceleration; /// maximum speed float max_speed; /// maximum yaw_offset float max_yaw_offset; /// yaw turn speed float yaw_speed; private: float yaw_offset; }; #endif // __INCLUDED_SHIP_H__