/*! * @file simple_game_menu.h * a StoryEntity that contains a simple game menu */ #ifndef _SIMPLE_GAME_MENU_H #define _SIMPLE_GAME_MENU_H #include "game_world.h" #include "event_listener.h" #include "game_world_data.h" class SimpleGameMenuData; class TiXmlElement; //! a simple game menu based on a story entity /** * This is a simple menu, that is based on the StoryEntity. Therefore this menu is absolutly * loadable and is exchangeable very easely :D */ class SimpleGameMenu : virtual public GameWorld, virtual public EventListener { public: SimpleGameMenu(const TiXmlElement* root = NULL); virtual ~SimpleGameMenu(); void loadParams(const TiXmlElement* root); virtual ErrorMessage init(); virtual bool start(); virtual bool stop(); virtual void process(const Event &event); protected: virtual void collide(); }; //! the simple game menu data class SimpleGameMenuData : public GameWorldData { public: SimpleGameMenuData(); virtual ~SimpleGameMenuData(); virtual ErrorMessage init(); protected: virtual ErrorMessage loadGUI(TiXmlElement* root); virtual ErrorMessage loadWorldEntities(TiXmlElement* root); virtual ErrorMessage loadScene(TiXmlElement* root); virtual ErrorMessage unloadGUI(); virtual ErrorMessage unloadWorldEntities(); virtual ErrorMessage unloadScene(); }; #endif /* _GAME_WORLD_H */