DIFF

class ScriptedSandstormController

ScriptedSandstormController › SandstormController

Constructors 2

private void ScriptedSandstormController()
private void ~ScriptedSandstormController()

Constants 11

private static const float MAX_SURFACE_DISTANCE = 2.0
private static const float MAX_SURFACE_DISTANCE_INVERSE = 1.0 / MAX_SURFACE_DISTANCE
private const float SURFACE_TRANSITION_DISTANCE = 10.0
private static const float SURFACE_TRANSITION_FRACTION = 1.0 / MAX_SURFACE_DISTANCE
private const float SURFACE_INTENSITY_MIN = 0
private const float SURFACE_INTENSITY_MAX = 1.0
private static const float INTERIOR_TRANSITION_DURATION = 1.5

1.5 seconds transition

private const float INTERIOR_TRANSITION_MIN = 0
private const float INTERIOR_TRANSITION_MAX = 1.0
private static const float INTERIOR_TRANSITION_DURATON_FRACTION = 1.0 / INTERIOR_TRANSITION_DURATION
private const ref array<typename> EXCLUDED_SHELTER_TYPES = {CrashBase, Plant}

Members 5

private ref map<string, ref PlayerSandstormData> m_PlayerData = new map<string, ref PlayerSandstormData>()
private ref PPERequester_SandstormEffect m_PPESandstormRequester
Referenced by OnStart(), OnStop(), and OnUpdate()
private float m_StormEffectTimer
protected ref ScriptInvoker m_OnSandstormStartSI = new ScriptInvoker()
Referenced by GetSandstormStartSI(), and OnStart()
protected ref ScriptInvoker m_OnSandstormStopSI = new ScriptInvoker()
Referenced by GetSandstormStopSI(), and OnStop()

Methods 15

private PlayerSandstormData GetPlayerData(string playerId)
void CleanupDisconnectedPlayer(string playerId)
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 ApplySurfaceDistanceModifier(inout float intensity, PlayerBase player)
ScriptInvoker GetSandstormStartSI()
ScriptInvoker GetSandstormStopSI()