// Initialize controller
bool CLoadScreenController::Init ()
{
	m_ScrWidth = m_pGlobalVars->GetIVar("view_width");
	m_ScrHeight = m_pGlobalVars->GetIVar("view_height");
	
	IOGSettingsSource* pSource = m_pReader->OpenSource(GetResourceMgr()->GetUIPath("LoadScreenUI.xml"));
	if (!pSource)
		return false;

	IOGGroupNode* pRoot = m_pReader->OpenGroupNode(pSource, NULL, "LoadScreen");
	IOGGroupNode* pLoadSprNode = m_pReader->OpenGroupNode(pSource, pRoot, "LoadSpr");
	if (pLoadSprNode != NULL)
	{
		m_LoadSprStr = m_pReader->ReadStringParam(pLoadSprNode, "sprite");
		m_LoadSprPos = m_pReader->ReadVec2Param(pLoadSprNode, "x", "y");
		m_LoadSprSize = m_pReader->ReadVec2Param(pLoadSprNode, "width", "height");
		m_pReader->CloseGroupNode(pLoadSprNode);
	}

	IOGGroupNode* pLabelNode = m_pReader->OpenGroupNode(pSource, pRoot, "LoadLabel");
	if (pLabelNode != NULL)
	{
		m_LoadLabelPos = m_pReader->ReadVec2Param(pLabelNode, "x", "y");
		m_pReader->CloseGroupNode(pLabelNode);
	}

	m_pReader->CloseGroupNode(pRoot);
	m_pReader->CloseSource(pSource);

	return true;
}
示例#2
0
IUIButton*
CUIButton::addButton(const std::string& sLabel, const std::string& sBitmapName, const std::string& sGroupName, int iInsertAt)
{
  s_IWEImageData imgData;
  
  imgData.pData = GetResourceMgr()->getBitmapMaterial(sBitmapName, sGroupName, imgData.width, imgData.height, imgData.bpp);

  return addButton(sLabel, imgData, iInsertAt);
}
// Initialize scene
bool CEffectViewerScene::Init ()
{
    if (m_bInited)
        return true;

	glewInit();

	m_pRenderer = GetRenderer();
	m_pRenderer->SetViewport(m_ResX, m_ResY, 4.0f, 4500.0f, 0.67f);

	m_pResourceMgr = GetResourceMgr();
	m_pSg = GetSceneGraph();
	m_pCamera = m_pRenderer->GetCamera();
	m_pActorMgr = GetActorManager();

	UpdateCamera();

	OGVec3 vLightDir = OGVec3(0,1,0);
	OGVec4 vLightColor = OGVec4(1,1,1,1);
	IOGLight* pMainLight = m_pRenderer->GetLightMgr()->CreateLight();
	pMainLight->type = OG_LIGHT_DIRECTIONAL;
	pMainLight->vPosition = vLightDir;
	pMainLight->fIntensity = 100.0f;
	pMainLight->vAmbientColor = OGVec4(vLightColor.x, vLightColor.y, vLightColor.z, 1.0f);
	pMainLight->vDiffuseColor = OGVec4(vLightColor.x, vLightColor.y, vLightColor.z, 1.0f);
	pMainLight->vSpecularColor = OGVec4(vLightColor.x, vLightColor.y, vLightColor.z, 1.0f);

	glDisable(GL_CULL_FACE);
	glEnable(GL_NORMALIZE);

	if (m_pResourceMgr->Load(OG_RESPOOL_GAME) == false)
	{
        return false;
	}

	if (GetActorParamsMgr()->Init() == false)
	{
        return false;
	}

	const std::map<std::string, EffectItem>& effects = GetEffectsManager()->GetEffectsList();
	std::map<std::string, EffectItem>::const_iterator iter = effects.begin();
	for (; iter != effects.end(); ++iter)
	{
		CommonToolEvent<ResLoadEventData> cmd(EVENTID_RESLOAD);
		cmd.SetEventCustomData(ResLoadEventData(wxT(iter->first.c_str()), 
			wxT("Effects"),
			wxT("")));
		GetEventHandlersTable()->FireEvent(EVENTID_RESLOAD, &cmd);
	}

	SetupEffect(NULL);
    m_bInited = true;

	return true;
}
CLoadScreenController::CLoadScreenController() :	m_State(CSTATE_NO),
                                                    m_Type(SCRTYPE_LOAD),
													m_pLoadSpr(NULL),
                                                    m_pCurLevel(NULL),
													m_bLoaded(false),
                                                    m_bDisplayed(false)
{
	m_pGlobalVars = GetGlobalVars();
	m_pResourceMgr = GetResourceMgr();
    m_pRenderer = GetRenderer();
	m_pReader = GetSettingsReader();
}
示例#5
0
void
CUIGallery::addItem(const std::string&      sLabel,
                    const std::string&      sBitmapName,
                    const std::string&      sBitmapGroupName,
                    char*                   pGroupName)
{
  s_IWEImageData imgData;
  
  imgData.pData = GetResourceMgr()->getBitmapMaterial(sBitmapName, sBitmapGroupName, imgData.width, imgData.height, imgData.bpp);

  addItem(sLabel, imgData, pGroupName);
}
// Create actor.
bool COGActorStatic::Create (IOGActorParams* _pParams,
                             const OGVec3& _vPos,
                             const OGVec3& _vRot,
                             const OGVec3& _vScale)
{
    m_pParams = _pParams;

    m_pModel = GetResourceMgr()->GetModel(OG_RESPOOL_GAME, m_pParams->model_alias);
    
    m_pPhysicalObject = m_pPhysics->CreateObject(&m_pParams->physics, m_pModel->GetAABB(), this);
    m_pPhysicalObject->SetWorldTransform(_vPos, _vRot, _vScale);

    m_pNode = m_pSg->CreateNode(m_pModel, m_pPhysicalObject);

    return true;
}
// Initialize emitter.
void COGEmitterScrollingRay::Init(IOGGroupNode* _pNode)
{
    LoadParams(_pNode);

    m_pTexture = GetResourceMgr()->GetTexture(OG_RESPOOL_GAME, m_Texture);
    m_Blend = OG_BLEND_ALPHAONE;
    m_pVBO = m_pRenderer->CreateDynVertexBuffer(2*60);

    m_bPositionUpdated = false;
    m_bPosReady = false;

    m_Frames.reserve(m_MappingFinishId - m_MappingStartId + 1);
    for (unsigned int i = m_MappingStartId; i <= m_MappingFinishId; ++i)
    {
        m_Frames.push_back(m_pTexture->GetMapping(i));
    }
}
// Update controller
void CLoadScreenController::Update (unsigned long _ElapsedTime)
{
	if (!m_bLoaded && m_State == CSTATE_ACTIVE && m_bDisplayed)
	{
		OG_LOG_INFO("Loading started");
		GetActorParamsMgr()->Init();
		OG_LOG_INFO("Actor params manager initialized");
        GetLevelManager()->Init();
		OG_LOG_INFO("Level manager initialized");
		GetResourceMgr()->Load(OG_RESPOOL_GAME);
		OG_LOG_INFO("Resource managers loaded");

		IOGLevelParams* pLevelParams = GetGameSequence()->GetLevel(0);

		m_pCurLevel = GetLevelManager()->LoadLevel(pLevelParams->alias);
		if (m_pCurLevel == NULL)
		{
			OG_LOG_ERROR("Failed to load level %s", pLevelParams->alias.c_str());
            Deactivate();
			m_State = CSTATE_FAILED;
			return;
		}
		OG_LOG_INFO("Current level loading finished");

		OGVec3 vCraftPos = m_pCurLevel->GetStartPosition();
		vCraftPos.y = 80.0f;
		IOGActor* pPlayerActor = GetActorManager()->CreateActor(
			std::string(pLevelParams->player_actor),
			vCraftPos, 
			OGVec3(0,0,0), 
			OGVec3(1,1,1));
		pPlayerActor->SetWeapon(GetActorParamsMgr()->GetWeaponParams(pLevelParams->weapon));
		GetActorManager()->AddActor(pPlayerActor);

		OG_LOG_INFO("Player actor added");

		m_bLoaded = true;
		Deactivate();
	}
}
// Initialize scene
bool CViewerScene::Init ()
{
    if (m_bInited)
        return true;

    glewInit();

    m_pRenderer = GetRenderer();
    m_pRenderer->SetViewport(m_ResX, m_ResY, 4.0f, 4500.0f, 0.67f);

    m_pResourceMgr = GetResourceMgr();
    m_pSg = GetSceneGraph();
    m_pCamera = m_pRenderer->GetCamera();
    m_pActorMgr = GetActorManager();

    OGVec3 vTarget (0, 0, 0);
    OGVec3 vDir (0, -1.0f, 0.4f);
    vDir = vDir.normalize();
    OGVec3 vUp = vDir.cross (OGVec3(1, 0, 0));
    m_pCamera->Setup (vTarget - (vDir*m_fCameraDistance), vTarget, vUp);

    OGVec3 vLightDir = OGVec3(0,1,0);
    OGVec4 vLightColor = OGVec4(1,1,1,1);
    IOGLight* pMainLight = m_pRenderer->GetLightMgr()->CreateLight();
    pMainLight->type = OG_LIGHT_DIRECTIONAL;
    pMainLight->vPosition = vLightDir;
    pMainLight->fIntensity = 100.0f;
    pMainLight->vAmbientColor = OGVec4(vLightColor.x, vLightColor.y, vLightColor.z, 1.0f);
    pMainLight->vDiffuseColor = OGVec4(vLightColor.x, vLightColor.y, vLightColor.z, 1.0f);
    pMainLight->vSpecularColor = OGVec4(vLightColor.x, vLightColor.y, vLightColor.z, 1.0f);

    glDisable(GL_CULL_FACE);
    glEnable(GL_NORMALIZE);

    if (m_pResourceMgr->Load(OG_RESPOOL_GAME) == false)
    {
        return false;
    }

    if (GetActorParamsMgr()->Init())
    {
        std::list<IOGActorParams*> ActorsParamsList;
        GetActorParamsMgr()->GetParamsList(ActorsParamsList);
        std::list<IOGActorParams*>::const_iterator iter = ActorsParamsList.begin();
        for (; iter != ActorsParamsList.end(); ++iter)
        {
            if ((*iter)->type == OG_ACTOR_MISSILE ||
                (*iter)->type == OG_ACTOR_PLASMAMISSILE ||
                (*iter)->type == OG_ACTOR_GAUSSRAY )
            {
                continue;
            }

            CommonToolEvent<ResLoadEventData> cmd(EVENTID_RESLOAD);
            cmd.SetEventCustomData(ResLoadEventData(wxT((*iter)->alias.c_str()), 
                wxT(ActorTypeToGroupName((*iter)->type).c_str()),
                wxT((*iter)->icon.c_str())));
            GetEventHandlersTable()->FireEvent(EVENTID_RESLOAD, &cmd);
        }
    }
    else
    {
        return false;
    }

    SetupModel(NULL);
    m_bInited = true;

    return true;
}