//------------------------------------------------------------------------------------- TUMBU::~TUMBU(void){ Ogre::LogManager::getSingletonPtr()->logMessage("Finishing Game"); instance = NULL; removeAllKeyListeners(); removeAllMouseListeners(); Ogre::LogManager::getSingletonPtr()->logMessage("\tDeleting CutScene..."); if( cutScene != NULL ){ mRoot->removeFrameListener( cutScene ); delete cutScene; } Ogre::LogManager::getSingletonPtr()->logMessage("\tDeleting SoundManager..."); if( soundManager != NULL ){ if( startScreenBackgroundSound != NULL ){ startScreenBackgroundSound->stop(); soundManager->destroySound( startScreenBackgroundSound ); } mRoot->removeFrameListener( soundManager ); delete soundManager; } Ogre::LogManager::getSingletonPtr()->logMessage("\tDeleting Clock..."); if( clock != NULL ){ mRoot->removeFrameListener( clock ); delete clock; } Ogre::LogManager::getSingletonPtr()->logMessage("\tDeleting AI..."); if( ai != NULL ){ mRoot->removeFrameListener( ai ); delete ai; } if ( activeScene != NULL ){ Ogre::LogManager::getSingletonPtr()->logMessage("\tDeleting Active Scene..."); activeScene->removeAndDestroyAllChildren(); mSceneMgr->destroySceneNode( activeScene ); } Ogre::LogManager::getSingletonPtr()->logMessage("\tDeleting Gui..."); if ( gui != NULL ){ mRoot->removeFrameListener( gui ); removeKeyListener( gui ); removeMouseListener( gui ); removeJoystickListener( gui ); delete gui; } Ogre::LogManager::getSingletonPtr()->logMessage("\tCleaning Scene..."); mSceneMgr->destroyAllEntities(); mSceneMgr->destroyAllAnimations(); mSceneMgr->destroyAllAnimationStates(); mSceneMgr->destroyAllLights(); mSceneMgr->destroyAllManualObjects(); mSceneMgr->destroyAllMovableObjects(); mSceneMgr->destroyAllParticleSystems(); mSceneMgr->destroyAllStaticGeometry(); }
// Remove all listener void OisFramework::removeAllListeners() { removeAllKeyListeners(); removeAllMouseListeners(); removeAllJoyStickListeners(); }