Exemple #1
0
void Global::destroy()
{
    //
    destroySceneManager();
    //
    destroyTextureManager();
    //
    destroyFxManager();
    //
    destroyStateManager();
}
Exemple #2
0
LRESULT ViewWindow::onDestroy( UINT, WPARAM, LPARAM, BOOL& )
{
	//
	destroySceneManager();
	//
	destroyFxManager();
	//
	if (getRenderContex())
	{
		destroyRenderContex();
	}
	
	return 1;
}
Exemple #3
0
	void BaseManager::shutdown()
	{
		mPreLuaScript.clear();
		mPreLuaLocation.clear();
		mPreLoad.clear();

		destroyScene();

		destroyPointerManager();

		destroyInput();

		destroyGui();

		mSceneManager->destroyQuery( mSceneQuery );
		mSceneQuery = nullptr;

		destroySceneManager();

		//清除内部帧监听器
		//必须在destroyScene等后面被施放
		delete mInputFilter;
		mInputFilter = nullptr;

		if (mRoot)
		{
			Ogre::RenderWindow* window = mRoot->getAutoCreatedWindow();
			if (window)
				window->removeAllViewports();
			OGRE_DELETE mRoot;
			mRoot = nullptr;
		}

		if( mCoutSource ){
			//删除mCoutSource,不要过早删除它。
			delete mCoutSource;
			mCoutSource = nullptr;
		}
	}
Exemple #4
0
	KVOID AppFrame::Destroy()
	{
		SAFE_DEL(m_pRenderableMgr);

		if (EffectManager::Initialized())
			KDEL EffectManager::GetSingletonPtr();

		SAFE_DEL(m_pScriptVM);
		SAFE_DEL(m_pGuiMgr);

		SAFE_DEL(m_pCameraCtrl);
		
		if (OgreRoot::Initialized())
			KDEL OgreRoot::GetSingletonPtr();

		if (DataManager::Initialized())
			KDEL DataManager::GetSingletonPtr();

		//SAFE_DEL(m_pRenderableMgr);
		//SAFE_CALL(m_pSceneMgr,clearScene());

		Ogre::ResourceGroupManager::ResourceManagerIterator resMgrs =
			Ogre::ResourceGroupManager::getSingleton().getResourceManagerIterator();
		while (resMgrs.hasMoreElements())
		{
			resMgrs.getNext()->unloadUnreferencedResources();
		}
		
		SAFE_CALL(m_pRoot,destroySceneManager(m_pSceneMgr));

		//Remove ourself as a Window listener
		Ogre::WindowEventUtilities::removeWindowEventListener(m_pWindow, this);
		//windowClosed(m_pWindow);

		SAFE_DEL(m_pInputMgr);

		if (m_pRoot) OGRE_DELETE m_pRoot;