www.pudn.com > ICE_1.4.zip > game_engine.h


// Class automatically generated by Dev-C++ New Class wizard 
 
#ifndef GAME_ENGINE_H 
#define GAME_ENGINE_H 
 
//setup Irrlicht definitions 
#include  
 
#include "game_stateHandler.h" 
#include "game_state.h" 
 
#include "../../Options/ICE_options.h" 
 
class game_EventHandler; 
 
//BASE class 
// the main engine structure 
class game_Engine : public game_StateHandler  {  
protected: 
    game_EventHandler *m_pEventHandler; 
    irr::u32 m_time ;         //current time, updated every Run() 
 
public: 
		// class constructor 
		game_Engine(); 
		// class destructor 
		~game_Engine(); 
 
		// called to start up the irrlicht engine and set up game variables 
		bool Init(irr::video::EDriverType device_type = irr::video::EDT_OPENGL,  
                    int res_x = 640, int res_y = 480, bool fullscreen = false,  
					   int colordepth = 16, bool stencilbuffer = false, 
                        const wchar_t *text =L"ICE - IrrLicht Common Engine"); 
 
  //NO NEED TO OVERLOAD THESE FUNCTIONS: 
		//event handler 
		bool OnEvent(irr::SEvent event); 
		// called in main loop to see if engine is still running 
		bool Update(); 
		// renders the scene (according to the appropriate state) 
		void Render(); 
 
    //ask to be moved to a new state 
        virtual void RequestStateChange(tGAME_STATE newState) = 0; 
     
private: 
    	void Destroy(); //dont call this directly, call RequestDestroy instead! 
 
}; 
 
class game_EventHandler : public irr::IEventReceiver { 
    game_Engine* m_pBoss; 
 
protected: 
    friend class game_Engine; 
    game_EventHandler(game_Engine* boss); 
    bool OnEvent(irr::SEvent event) ; 
}; 
 
#endif // GAME_ENGINE_H