/*! \file orxonox.h \brief Orxonox core functions */ #ifndef _ORXONOX_H #define _ORXONOX_H #include "event_listener.h" class WorldEntity; class GameLoader; class ResourceManager; class ObjectManager; class EventHandler; class Event; class IniParser; //! orxonox core singleton class /** */ class Orxonox : public EventListener { public: virtual ~Orxonox (); /** \returns a Pointer to the only object of this Class */ inline static Orxonox* getInstance() { if (!singletonRef) singletonRef = new Orxonox(); return singletonRef; }; int init (int argc, char** argv); void start(); void graphicsHandler (SDL_Event* event); void process(const Event &event); private: Orxonox (); void parseIniFile(const char* fileName); int initVideo (); int initSound (); int initInput (); int initNetworking (); int initResources (); const char* getConfigFile (int argc, char** argv); private: static Orxonox* singletonRef; //!< singleton reference to orxonox IniParser* iniParser; //!< Reference to the ini-parser used in orxonox char configFileName[256]; //!< Filename of the configuration-file. GameLoader* gameLoader; //!< The gameLoader ResourceManager* resourceManager; //!< The ResourceManager ObjectManager* objectManager; //!< the object manager of the game EventHandler* eventHandler; //!< the eventhandler of orxonox is created here unsigned int argc; //!< Count of Arguments of orxonox char** argv; //!< Values of th Arguments of orxonox. }; int startHelp(int argc, char** argv); int startOrxonox(int argc, char** argv); #endif /* _ORXONOX_H */