Example #1
0
CUIMultiPlayer::CUIMultiPlayer()
	: m_pUIEvents(NULL)
	, m_pUIFunctions(NULL)
{
	if (!gEnv->pFlashUI) return;


	// event descriptions
	SUIEventDesc evtEnteredGame("EnteredGame", "EnteredGame", "");

	SUIEventDesc evtPlayerJoined("PlayerJoined", "PlayerJoined", "");
	evtPlayerJoined.Params.push_back(SUIParameterDesc("ID", "ID", ""));
	evtPlayerJoined.Params.push_back(SUIParameterDesc("Name", "Name", ""));

	SUIEventDesc evtPlayerLeaved("PlayerLeaved", "PlayerLeaved", "");
	evtPlayerLeaved.Params.push_back(SUIParameterDesc("ID", "ID", ""));
	evtPlayerLeaved.Params.push_back(SUIParameterDesc("Name", "Name", ""));

	SUIEventDesc evtPlayerKilled("PlayerKilled", "PlayerKilled", "");
	evtPlayerKilled.Params.push_back(SUIParameterDesc("ID", "ID", ""));
	evtPlayerKilled.Params.push_back(SUIParameterDesc("Name", "Name", ""));
	evtPlayerKilled.Params.push_back(SUIParameterDesc("ShooterID", "ShooterID", ""));
	evtPlayerKilled.Params.push_back(SUIParameterDesc("ShooterName", "ShooterName", ""));


	// events to send from this class to UI flowgraphs
	m_pUIFunctions = gEnv->pFlashUI->CreateEventSystem("MP", IUIEventSystem::eEST_SYSTEM_TO_UI);
	
	m_EventMap[EUIE_EnteredGame] = m_pUIFunctions->RegisterEvent(evtEnteredGame);
	m_EventMap[EUIE_PlayerJoined] = m_pUIFunctions->RegisterEvent(evtPlayerJoined);
 	m_EventMap[EUIE_PlayerLeaved] = m_pUIFunctions->RegisterEvent(evtPlayerLeaved);
 	m_EventMap[EUIE_PlayerKilled] = m_pUIFunctions->RegisterEvent(evtPlayerKilled);

	// event descriptions
	SUIEventDesc evtRequestPlayers("GetPlayers", "GetPlayers", "");

	// events that can be sent from UI flowgraphs to this class
	m_pUIEvents = gEnv->pFlashUI->CreateEventSystem("MP", IUIEventSystem::eEST_UI_TO_SYSTEM);
 	s_EventDispatcher.RegisterEvent(m_pUIEvents, evtRequestPlayers, &CUIMultiPlayer::RequestPlayers);
	m_pUIEvents->RegisterListener(this);
}
Example #2
0
//--------------------------------------------------------------------------------------------
CUIObjectives::CUIObjectives()
{
	if ( gEnv->pFlashUI )
	{
		// events that be fired to the UI
		m_pUIOEvt = gEnv->pFlashUI->CreateEventSystem( "UIObjectives", IUIEventSystem::eEST_SYSTEM_TO_UI );

		{
			SUIEventDesc evtDesc( "ObjectiveAdded", "ObjectiveAdded", "Mission objective added" );
			evtDesc.Params.push_back( SUIParameterDesc( "ObjectiveID", "MissionID", "ID of the mission" ) );
			evtDesc.Params.push_back( SUIParameterDesc( "Name", "Name", "Name of the mission" ) );
			evtDesc.Params.push_back( SUIParameterDesc( "Desc", "Desc", "Description of the mission" ) );
			evtDesc.Params.push_back( SUIParameterDesc( "State", "State", "State of the objective" ) );
			m_EventMap[ eUIOE_ObjectiveAdded ] = m_pUIOEvt->RegisterEvent( evtDesc );
		}

		{
			SUIEventDesc evtDesc( "ObjectiveRemoved", "ObjectiveRemoved", "Mission objective removed" );
			evtDesc.Params.push_back( SUIParameterDesc( "ObjectiveID", "MissionID", "ID of the mission" ) );
			m_EventMap[ eUIOE_ObjectiveRemoved ] = m_pUIOEvt->RegisterEvent( evtDesc );
		}

		{
			SUIEventDesc evtDesc( "ObjectivesReset", "ObjectivesReset", "All mission objectives reset" );
			m_EventMap[ eUIOE_ObjectivesReset ] = m_pUIOEvt->RegisterEvent( evtDesc );
		}

		{
			SUIEventDesc evtDesc( "ObjectiveStateChanged", "ObjectiveStateChanged", "Objective status changed" );
			evtDesc.Params.push_back( SUIParameterDesc( "ObjectiveID", "MissionID", "ID of the mission" ) );
			evtDesc.Params.push_back( SUIParameterDesc( "State", "State", "State of the objective" ) );
			m_EventMap[ eUIOE_ObjectiveStateChanged ] = m_pUIOEvt->RegisterEvent( evtDesc );
		}

		// event system to receive events from UI
		m_pUIOFct = gEnv->pFlashUI->CreateEventSystem( "UIObjectives", IUIEventSystem::eEST_UI_TO_SYSTEM );
		m_pUIOFct->RegisterListener( this );

		{
			SUIEventDesc evtDesc( "RequestObjectives", "RequestObjectives", "Request all mission objectives (force to call ObjectiveAdded for each objective)" );
			s_EventDispatcher.RegisterEvent( m_pUIOFct, evtDesc, &CUIObjectives::OnRequestMissionObjectives );
		}
	}
	UpdateObjectiveInfo();
}
Example #3
0
CUISettings::CUISettings()
	: m_pUIEvents(NULL)
	, m_pUIFunctions(NULL)
{
	if (!gEnv->pFlashUI) return;

	// CVars
	m_pRXVar = gEnv->pConsole->GetCVar("r_Width");
	m_pRYVar = gEnv->pConsole->GetCVar("r_Height");
	m_pFSVar = gEnv->pConsole->GetCVar("r_Fullscreen");
	m_pMusicVar = gEnv->pConsole->GetCVar("s_MusicVolume");
	m_pSFxVar = gEnv->pConsole->GetCVar("s_SFXVolume");
	m_pVideoVar = gEnv->pConsole->GetCVar("sys_flash_video_soundvolume");
	assert(m_pRXVar && m_pRYVar && m_pFSVar && m_pMusicVar && m_pSFxVar && m_pVideoVar);
	if (!(m_pRXVar && m_pRYVar && m_pFSVar && m_pMusicVar && m_pSFxVar && m_pVideoVar)) return;


	m_Resolutions.push_back(std::make_pair(1024,768));
	m_Resolutions.push_back(std::make_pair(1280,720));
	m_Resolutions.push_back(std::make_pair(1280,1050));
	m_Resolutions.push_back(std::make_pair(1680,1050));
	m_Resolutions.push_back(std::make_pair(1920,1080));

	// event descriptions
	SUIEventDesc evtResChanged("ResChanged", "OnResChanged", "Triggered on resolution change");
	evtResChanged.Params.push_back(SUIParameterDesc("ResX", "ResX", "Screen X resolution"));
	evtResChanged.Params.push_back(SUIParameterDesc("ResY", "ResY", "Screen Y resolution"));
	evtResChanged.Params.push_back(SUIParameterDesc("FullScreen", "FullScreen", "Fullscreen"));

	SUIEventDesc evtSoundChanged("SoundChanged", "OnSoundChanged", "Triggered if sound volume changed");
	evtSoundChanged.Params.push_back(SUIParameterDesc("Music", "Music", "Music volume"));
	evtSoundChanged.Params.push_back(SUIParameterDesc("SFx", "SFx", "SFx volume"));
	evtSoundChanged.Params.push_back(SUIParameterDesc("Video", "Video", "Video volume"));

	SUIEventDesc evtGetRes("OnResolutions", "OnResolutions", "Triggered if resolutions were requested.\n Will return comma separated string (UI array) with all resolutions (x1,y1,x2,y2,...)", true);


	// events to send from this class to UI flowgraphs
	m_pUIFunctions = gEnv->pFlashUI->CreateEventSystem("Settings", IUIEventSystem::eEST_SYSTEM_TO_UI);
	m_EventMap[EUIE_ResolutionChanged] = m_pUIFunctions->RegisterEvent(evtResChanged);
	m_EventMap[EUIE_SoundSettingsChanged] = m_pUIFunctions->RegisterEvent(evtSoundChanged);
	m_EventMap[EUIE_OnGetResolutions] = m_pUIFunctions->RegisterEvent(evtGetRes);

	// override descriptions
	evtResChanged.sDisplayName = "SetResolution";
	evtResChanged.sDesc = "Call this to set resolution";
	evtSoundChanged.sDisplayName = "SetSound";
	evtSoundChanged.sDesc = "Call this to set sound settings";
	evtGetRes.sDisplayName = "GetResolutionList";
	evtGetRes.sDesc = "Trigger this node to get all resolutions. This will trigger the \"Events:Settings:OnResolutions\" node.";
	evtGetRes.IsDynamic = false;

	// events that can be sent from UI flowgraphs to this class
	m_pUIEvents = gEnv->pFlashUI->CreateEventSystem("Settings", IUIEventSystem::eEST_UI_TO_SYSTEM);
	s_EventDispatcher.RegisterEvent(m_pUIEvents, evtResChanged, &CUISettings::OnSetResolution);
	s_EventDispatcher.RegisterEvent(m_pUIEvents, evtSoundChanged, &CUISettings::OnSetSoundSettings);
	s_EventDispatcher.RegisterEvent(m_pUIEvents, evtGetRes, &CUISettings::OnGetResolutions);
	m_pUIEvents->RegisterListener(this);


	// register as IGameFrameworkListener
	gEnv->pGame->GetIGameFramework()->RegisterListener(this, "CUISettings", FRAMEWORKLISTENERPRIORITY_HUD);
}