コード例 #1
0
ファイル: GodMode.cpp プロジェクト: souxiaosou/FireNET
bool CGodMode::RespawnPlayerIfDead() const
{
    CActor* player = static_cast<CActor*>(g_pGame->GetIGameFramework()->GetClientActor());
    bool result = RespawnIfDead(player);
    if (result)
    {
        SHUDEvent event;
        event.eventType = eHUDEvent_OnHUDReload;
        event.AddData(SHUDEventData(true));
        event.AddData( SHUDEventData(false)); // Dynamically loaded
        CHUDEventDispatcher::CallEvent(event);
    }
    return result;
}
コード例 #2
0
void CHUDMissionObjective::SendRadarEvent()
{
	EntityId trackedEntityId = GetTrackedEntity();
	if (trackedEntityId)
	{
		SHUDEvent radarEvent;
		if(m_eStatus == ACTIVATED)
			radarEvent.eventType = eHUDEvent_AddEntity;
		else
			radarEvent.eventType = eHUDEvent_RemoveEntity;
		radarEvent.AddData(SHUDEventData((int)trackedEntityId));
		CHUDEventDispatcher::CallEvent(radarEvent);
	}
}
コード例 #3
0
void CPlayerPlugin_CurrentlyTargetting::NetSerialize(TSerialize ser, EEntityAspects aspect, uint8 profile, int flags)
{
	if(aspect == CPlayer::ASPECT_CURRENTLYTARGETTING_CLIENT)
	{
		NET_PROFILE_SCOPE("CurrentlyTargeting", ser.IsReading());

		EntityId previousTarget = m_currentTarget;
		ser.Value("curTargetId", m_currentTarget, 'eid');

		if(ser.IsReading())
		{
			if(m_currentTarget != previousTarget)
			{









				CCCPOINT_IF(m_currentTarget, PlayerState_RemotePlayerNowTargettingSomebody);
				CCCPOINT_IF(!m_currentTarget, PlayerState_RemotePlayerNowTargettingNobody);

				m_currentTargetTime = 0.0f;

				CGameRules *pGameRules = g_pGame->GetGameRules();

				const EntityId clientActorId = g_pGame->GetClientActorId();
				if (m_bTargetingLocalPlayer)
				{
					SHUDEvent event (eHUDEvent_LocalPlayerTargeted);
					event.AddData(false);
					CHUDEventDispatcher::CallEvent(event);

					m_bTargetingLocalPlayer = false;
					//m_targetedSignal.Stop(clientActorId);
				}
			}
		}
	}
}
コード例 #4
0
void CPlayerPlugin_CurrentlyTargetting::Leave()
{
	m_currentTarget = 0;
	m_currentTargetTime = 0.0f;

	if(m_bTargetingLocalPlayer)
	{
		SHUDEvent event (eHUDEvent_LocalPlayerTargeted);
		event.AddData(false);
		CHUDEventDispatcher::CallEvent(event);

		REINST("needs verification!");
		/*EntityId clientId = g_pGame->GetClientActorId();
		if(clientId && m_targetedSignal.IsPlaying(clientId))
		{
			m_targetedSignal.Stop(clientId);
		}*/
	}

	CPlayerPlugin::Leave();
}