00001 #ifndef __NE_NENGINE_H__ 00002 #define __NE_NENGINE_H__ 00003 00004 #ifndef DOXYGEN_IGNORE_TAG 00005 00026 #endif 00027 00028 #include <string> 00029 00030 namespace NE 00031 { 00032 class Window; 00033 class Renderer; 00034 class InputManager; 00035 class Time; 00036 00037 class Sprite; 00038 class SpriteLoader; 00039 class SpriteFactory; 00040 00041 class NEngine 00042 { 00043 protected: 00044 Window* pWin; 00045 Renderer* pRenderer; 00046 InputManager* pInputManager; 00047 Time* pTime; 00049 SpriteLoader* pSpriteLoader; 00050 SpriteFactory* pSpriteFactory; 00052 virtual bool initAPI(void)=0; 00053 virtual bool stopAPI(void)=0; 00054 00055 public: 00056 NEngine(void) {} 00057 virtual ~NEngine(void) {} 00058 00059 bool init(void); 00060 bool stop(void); 00061 00062 Window* getWindow(void) { return pWin; } 00063 // void setWindow(Window* const pWin) { this->pWin = pWin; } 00064 00065 SpriteLoader* getSpriteLoader(void) { return pSpriteLoader; } 00066 SpriteFactory* getSpriteFactory(void) { return pSpriteFactory; } 00067 00068 Renderer* getRenderer(void) { return pRenderer; } 00069 // void setRenderer(Renderer* const pRenderer) { this->pRenderer = pRenderer; } 00070 00071 InputManager* getInputManager(void) { return pInputManager; } 00072 // void setInput(Input* const pInput) { this->pInput = pInput; } 00073 00074 Time* getTime(void) { return pTime; } 00075 // void setTime(Time* const pTime) { this->pTime = pTime; } 00076 }; 00077 } 00078 00142 #endif