/* game/game.h This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ #ifndef __INCLUDED_GAME_H__ #define __INCLUDED_GAME_H__ // project headers #include "game/ship.h" #include "game/star.h" #include "game/sector.h" #include "core/core.h" #include "sys/sys.h" // C++ headers #include #include /// the game-specific engine /** The main game functions. */ namespace game { class Game : public core::GameInterface { public: Game(); ~Game(); /// initialize the game bool init(); /// shutdown the game void shutdown(); /// execute one game grame void frame(float seconds); /// a player joins the game void event_join(core::Player *player); /// a player leaves the game void event_leave(core::Player *player); /// sectors in space std::vector sectors; /// the only ship in the game Ship *ship; /// the only star in the game Star *star; private: std::string name; std::string label; std::string author; }; // entity type constants const unsigned int ship_enttype = 256; const unsigned int star_enttype = 257; const unsigned int cube_enttype = 258; const unsigned int sphere_enttype = 259; const unsigned int axis_enttype = 260; } #endif // __INCLUDED_GAME_H__