/*! * @file single_player_world.h * Holds and manages all single player game data */ #ifndef _SINGLE_PLAYER_WORLD_H #define _SINGLE_PLAYER_WORLD_H #include "game_world.h" class WorldEntity; class Camera; class Player; class GLMenuImageScreen; class Terrain; class TiXmlElement; class Shell; class OggPlayer; //! The game world /** * this class initializes everything that should be displayed inside of the current level. * it is the main driving factor during gameplay. */ class SinglePlayerWorld : public GameWorld { public: SinglePlayerWorld (const TiXmlElement* root = NULL); virtual ~SinglePlayerWorld (); void loadParams(const TiXmlElement* root); /* classes from story-entity */ virtual ErrorMessage preLoad(); virtual ErrorMessage load (); virtual ErrorMessage postLoad(); virtual ErrorMessage preStart(); virtual ErrorMessage start (); virtual ErrorMessage stop (); virtual ErrorMessage pause (); virtual ErrorMessage resume (); virtual ErrorMessage destroy (); virtual void displayLoadScreen(); virtual void releaseLoadScreen(); /* interface to world */ virtual void spawn (WorldEntity* entity); protected: virtual void constuctorInit(const char* name, int worldID); /* world - running functions */ virtual void mainLoop (); virtual void synchronize (); virtual void handleInput (); virtual void tick (std::list worldEntity, float dt); virtual void tick (); virtual void update (); virtual void collide (); virtual void draw (); virtual void display (); virtual void debug (); private: /* external modules interfaces */ Shell* shell; OggPlayer* music; GLMenuImageScreen* glmis; //!< The Level-Loader Display }; #endif /* _SINGLE_PLAYER_WORLD_H */