示例#1
0
GameEnginePtr GameEngine::GetInstance( ) {
	if ( !_instance ) {
		_instance = GameEnginePtr(new GameEngine);
	}

	return _instance;
}
示例#2
0
	bool EngineMain::Initialize(const EngineParameters& param)
	{
		m_pEngineConfig = EngineConfigPtr(new EngineConfig);
		if(m_pEngineConfig->Load(param.config_file.c_str()) == false)
		{
			return false;
		}

		

		m_pGameEngine = GameEnginePtr(new GameEngine);

		CoreParameters core_param;

		core_param.input.module = m_pEngineConfig->Settings(L"sys_input", 0);
		core_param.input.app_handle = param.app_handle;

		core_param.graphics.app_handle = param.app_handle;
		core_param.graphics.module = m_pEngineConfig->Settings(L"sys_graphics", 0);
		core_param.graphics.width = 800;
		core_param.graphics.height = 600;
		if(m_pGameEngine->Initialize(core_param) == false)
		{
			return false;
		}

		m_pGameManager = GameManagerPtr(new GameManager);
		
		if(m_pGameManager->Initialize(m_pEngineConfig->Settings(L"game", 0)) == false)
		{
			return false;
		}

		GameInterface* pGame = m_pGameManager->GetGame();

		if(false == pGame->Initialize(m_pGameEngine))
		{
			return false;
		}

		return true;
	}