예제 #1
0
	void BaseManager::destroy()
	{
		destroyScene();

		destroyPointerManager();

		destroyInput();

		destroyGui();

		// очищаем сцену
		if (mSceneManager)
		{
			mSceneManager->clearScene();
			mSceneManager->destroyAllCameras();
			mSceneManager = nullptr;
			mCamera = nullptr;
		}

		if (mWindow)
		{
			mWindow->destroy();
			mWindow = nullptr;
		}

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

	}
예제 #2
0
	void BaseManager::destroy()
	{
		destroyScene();

		destroyPointerManager();

		destroyInput();

		destroyGui();

		destroyRender();

		if (mpHGE)
		{
			mpHGE->System_Shutdown();
			mpHGE->Release();
		}
		/*
		if (hWnd)
		{
			DestroyWindow(hWnd);
			hWnd = 0;
		}

		UnregisterClass(WND_CLASS_NAME, hInstance);
		*/
	}
예제 #3
0
	void BaseManager::shutdown() {
		destroyScene();

		destroyPointerManager();

		destroyInput();

		destroyGui();

		//destroyRender();
	}
예제 #4
0
	void BaseManager::destroy()
	{
		destroyScene();

		destroyPointerManager();

		destroyInput();

		destroyGui();

		destroyRender();
	}
예제 #5
0
	void BaseManager::destroy()
	{
		destroyScene();

		destroyPointerManager();

		destroyInput();

		destroyGui();

		destroyRender();

		SDL_GL_DeleteContext(mContext);
		IMG_Quit();
		SDL_Quit();
	}
예제 #6
0
	void BaseManager::destroy()
	{
		destroyScene();

		destroyPointerManager();

		destroyInput();

		destroyGui();

		destroyRender();

		if (hWnd)
		{
			DestroyWindow(hWnd);
			hWnd = 0;
		}

		UnregisterClass(WND_CLASS_NAME, hInstance);
	}
예제 #7
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;
		}
	}