class ScriptedSandstormController
ScriptedSandstormController › SandstormController
Constructors 2
private void ScriptedSandstormController()private void ~ScriptedSandstormController()Constants 11
private static const float MAX_SURFACE_DISTANCE = 2.0private static const float MAX_SURFACE_DISTANCE_INVERSE = 1.0 / MAX_SURFACE_DISTANCEReferenced by ApplySurfaceDistanceModifier()
private const float SURFACE_TRANSITION_DISTANCE = 10.0private static const float SURFACE_TRANSITION_FRACTION = 1.0 / MAX_SURFACE_DISTANCEprivate const float SURFACE_INTENSITY_MIN = 0private const float SURFACE_INTENSITY_MAX = 1.0private static const float INTERIOR_TRANSITION_DURATION = 1.51.5 seconds transition
private const float INTERIOR_TRANSITION_MIN = 0private const float INTERIOR_TRANSITION_MAX = 1.0private static const float INTERIOR_TRANSITION_DURATON_FRACTION = 1.0 / INTERIOR_TRANSITION_DURATIONReferenced by ApplyBuildingCheckModifier()
Members 5
private ref map<string, ref PlayerSandstormData> m_PlayerData = new map<string, ref PlayerSandstormData>()private ref PPERequester_SandstormEffect m_PPESandstormRequesterprivate float m_StormEffectTimerprotected ref ScriptInvoker m_OnSandstormStartSI = new ScriptInvoker()protected ref ScriptInvoker m_OnSandstormStopSI = new ScriptInvoker()Methods 15
private PlayerSandstormData GetPlayerData(string playerId)References map.Contains(), map.Get(), new PlayerSandstormData()
Show 2 more
, map.Set(), and m_PlayerDataReferenced by GetPlayerSandstormData()
private PlayerSandstormData GetPlayerSandstormData(PlayerBase player)References ErrorEx(), PlayerIdentityBase.GetId(), Man.GetIdentity()
Show 3 more
, GetPlayerData(), CGame.IsDedicatedServer(), and CGame.IsMultiplayer()Referenced by GetIntensityForPlayer()
void CleanupDisconnectedPlayer(string playerId)Referenced by PlayerBase.OnDisconnect()
void CheckConnectedPlayers()Referenced by PlayerBase.OnDisconnect()
protected void ApplyShelterFade(inout float intensity, bool isCurrentlySheltered, float transitionProgress)Check if we have any PlayerSandstormData elements catched for players that are no longer connected.
References Math.Lerp()
private void ApplyUndergroundModifier(inout float intensity, PlayerBase player, PlayerSandstormData playerData)Referenced by GetIntensityForPlayer()
private void ApplySurfaceDistanceModifier(inout float intensity, PlayerBase player)References Math.Clamp(), Object.GetPosition(), CGame.SurfaceY()
Show 1 more
, MAX_SURFACE_DISTANCE_INVERSEReferenced by ApplyUndergroundModifier()
private void ApplyBuildingCheckModifier(inout float intensity, PlayerBase player, PlayerSandstormData playerData)References ApplyShelterFade(), Math.Clamp(), CGame.GetTime()
Show 12 more
, PlayerSandstormData.GetWasInInterior(), PlayerSandstormData.GetWasUnderRoof(), Man.IsSoundInsideBuilding(), MiscGameplayFunctions.IsUnder(), PlayerSandstormData.SetWasInInterior(), PlayerSandstormData.SetWasUnderRoof(), EXCLUDED_SHELTER_TYPES, INTERIOR_TRANSITION_DURATON_FRACTION, INTERIOR_TRANSITION_MAX, INTERIOR_TRANSITION_MIN, PlayerSandstormData.m_InteriorTransitionTimer, and GameConstants.ROOF_CHECK_RAYCAST_DISTReferenced by GetIntensityForPlayer()
private void ApplyVehicleModifier(inout float intensity, PlayerBase player, PlayerSandstormData playerData)References ApplyShelterFade(), Math.Clamp(), Human.GetCommand_Vehicle()
Show 9 more
, CGame.GetTime(), HumanCommandVehicle.GetTransport(), PlayerSandstormData.GetWasInVehicle(), Object.IsAnyInherited(), PlayerSandstormData.SetWasInVehicle(), INTERIOR_TRANSITION_DURATON_FRACTION, INTERIOR_TRANSITION_MAX, INTERIOR_TRANSITION_MIN, and PlayerSandstormData.m_VehicleTransitionTimerReferenced by GetIntensityForPlayer()
See also: SandstormController::OnStart
References Class.Cast(), Class.Cast(), GetIntensityForPlayer()
Show 10 more
, CGame.GetPlayer(), PPERequesterBank.GetRequester(), ScriptInvoker.Invoke(), CGame.IsDedicatedServer(), SandstormController.OnStart(), PPERequester_SandstormEffect.SetTargetIntensity(), PPERequesterBase.Start(), m_OnSandstormStartSI, m_PPESandstormRequester, and PPERequesterBank.REQ_SANDSTORMEFFECToverride void OnUpdate(float deltaTime)See also: SandstormController::OnUpdate
override void OnStop(bool calledByWeather = false)See also: SandstormController::OnStop
ScriptInvoker GetSandstormStartSI()References m_OnSandstormStartSI
Referenced by ScriptConsoleWeatherTab.InitializeTab()
ScriptInvoker GetSandstormStopSI()References m_OnSandstormStopSI