static void Main() { // create Ogre manager mEngine = new OgreManager(); // create state manager mStateMgr = new StateManager(mEngine); // create main program Program prg = new Program(); // try to initialize Ogre and the state manager if (mEngine.Startup() && mStateMgr.Startup((BOOT_INTO_GAME ? typeof(GameLoopState) : typeof(MenuState)))) { // create objects in scene prg.CreateScene(); // run engine main loop until the window is closed while (!mEngine.Window.IsClosed) { // update the objects in the scene prg.UpdateScene(); // update Ogre and render the current frame mEngine.Update(); // check if state manager is in shutting down state if (mStateMgr.ShuttingDown) { // destroy the window to shut down the application mEngine.Window.Destroy(); } } // remove objects from scene prg.RemoveScene(); } // shut down state manager mStateMgr.Shutdown(); // shutdown Ogre mEngine.Shutdown(); }
static void Main() { // create Ogre manager mEngine = new OgreManager(); // create state manager mStateMgr = new StateManager(mEngine); // create main program Program prg = new Program(); // try to initialize Ogre and the state manager if (mEngine.Startup() && mStateMgr.Startup(typeof(InGame))) { // create objects in scene prg.CreateScene(); // run engine main loop until the window is closed while (!mEngine.Window.IsClosed) { // update the objects in the scene prg.UpdateScene(); // update Ogre and render the current frame mEngine.Update(); } // remove objects from scene prg.RemoveScene(); } // shut down state manager mStateMgr.Shutdown(); // shutdown Ogre mEngine.Shutdown(); }