23enum EUndegroundDoorType
33 SetVisibleDuringDaylight(
true);
36 SetFlareVisible(
false);
37 SetAmbientColor(1.0, 0.0, 0.0);
38 SetDiffuseColor(1.0, 0.0, 0.0);
40 SetDisableShadowsWithinRadius(-1);
74 RegisterNetSyncVariableFloat(
"m_AnimPhase", 0,1,5);
141 g_Game.GetWorld().UpdatePathgraphDoorByAnimationSourceName(
this,
"EntranceDoor");
154 if (p.GetClosestDoor() ==
this)
169 float AdjustTime(
float originalTime,
float adjustedTime = -1)
171 #ifdef DIAG_DEVELOPER
174 if (adjustedTime != -1)
178 if (FeatureTimeAccel.GetFeatureTimeAccelEnabled(ETimeAccelCategories.UNDERGROUND_ENTRANCE))
180 timeAccel = FeatureTimeAccel.GetFeatureTimeAccelValue();
181 return originalTime / timeAccel;
232 p.OnDoorStateChangedClient(newState, prevState);
238 g_Game.RegisterNetworkStaticObject(
this);
252 super.OnVariablesSynchronized();
272 if (
g_Game.IsDedicatedServer())
287 override void GetDebugActions(out TSelectableActionInfoArrayEx outputList)
293 super.GetDebugActions(outputList);
298 if (super.OnAction(action_id, player, ctx))
302 if (action_id ==
EActions.ACTIVATE_ENTITY)
307 else if (action_id ==
EActions.DEACTIVATE_ENTITY)
393 m_AnimTimerDoorServer.Run(
AdjustTime(
GetOpeningTime()),
this,
"OnUpdateServer",
"OnFinishedTimerServer",0,
false, 1);
394 m_NavmeshTimer =
new Timer();
395 m_NavmeshTimer.Run(3,
this,
"NavmeshUpdate", NULL,
true);
399 m_AnimTimerDoorServer.Stop();
401 m_NavmeshTimer = null;
417 m_NavmeshTimer =
new Timer();
418 m_NavmeshTimer.Run(3,
this,
"NavmeshUpdate", NULL,
true);
419 m_AnimTimerDoorServer.Run(0,
this,
"OnUpdateServer",
"OnFinishedTimerServer",
AdjustTime(
GetOpeningTime()),
false, 1);
424 m_NavmeshTimer = null;
442 if (MemoryPointExists(
"SirenLightPos"))
444 pos = GetMemoryPointPos(
"SirenLightPos");
445 pos = ModelToWorld(pos);
449 ErrorEx(
"GetLightPosition could not locate memory point 'SirenLightPos'");
577 SetAnimationPhaseNow(
"EntranceDoor",m_AnimPhase);
Param4< int, int, string, int > TSelectableActionInfoWithColor
enum EUndegroundEntranceState AlarmLight()
const string ENGINE_SOUNDSET_LOOP_IN
const string LOCKING_SOUNDSET
vector GetLightPosition()
enum EUndegroundEntranceState MAIN
Land_Underground_EntranceBase m_SirenSound
EffectSound m_DoorEngineSoundIn
const string DOORMOVING_SOUNDSET_LOOP
EffectSound m_DoorMovementSoundLoop
const string DOORMOVING_SOUNDSET_LOOP_OUT
void SoundEnded(Effect eff)
enum EUndegroundEntranceState SMALL
EffectSound m_DoorEngineSoundOut
const float LIGHT_ROT_SPEED
EffectSound m_DoorEngineSoundLoop
const string DOORMOVING_SOUNDSET_LOOP_IN
EffectSound m_LockingSound
EffectSound m_DoorMovementSoundOut
EffectSound m_DoorMovementSoundIn
const string ENGINE_SOUNDSET_LOOP_OUT
const string ENGINE_SOUNDSET_LOOP
const string SIREN_SOUNDSET
void Land_Underground_Panel()
AnimationTimer class. This timer is for animating float value. usage:
override void GetDebugActions(out TSelectableActionInfoArrayEx outputList)
override bool OnAction(int action_id, Man player, ParamsReadContext ctx)
Wrapper class for managing sound through SEffectManager.
EntranceLight m_InteriorLight2
EUndegroundEntranceState m_DoorState
bool CanManipulate(Param param=null)
void SetDoorStateServer(EUndegroundEntranceState newState)
void OnUpdateClient(float timeSlice)
void GetConnectedPanels(array< Land_Underground_Panel > panels)
void OnDoorStateChangedClient(EUndegroundEntranceState newState, EUndegroundEntranceState prevState)
ref array< Land_Underground_Panel > m_ConnectedPanels
void HandleAudioPlayback(EUndegroundEntranceState newState, EUndegroundEntranceState prevState)
void Land_Underground_EntranceBase()
void CleanUpOnClosedClient()
EUndegroundEntranceState m_DoorStatePrev
const float TEMP_HOTIX_TIMESLICE
bool IsInitDoorStateSync()
bool CheckShouldPlayPersistent(EUndegroundEntranceState state, EUndegroundEntranceState lastValidState)
ref AnimationTimer m_AnimTimerDoorServer
void ~Land_Underground_EntranceBase()
override void OnVariablesSynchronized()
override void EOnPostSimulate(IEntity other, float timeSlice)
float AdjustTime(float originalTime, float adjustedTime=-1)
void OnDoorStateChangedServer(EUndegroundEntranceState newState)
EUndegroundDoorType m_DoorType
void CleanUpOnDeleteClient()
EntranceLight m_InteriorLight1
void HandleVisualPlayback(EUndegroundEntranceState newState, EUndegroundEntranceState prevState)
void OnFinishedTimerServer()
ref Timer m_TempHotfixTimer
void OpenServer(bool force=false)
void Manipulate(Param param=null)
EntranceLight m_InteriorLight3
void RequestLatentTransition(float time, EUndegroundEntranceState targetState=EUndegroundEntranceState.UNINITIALIZED)
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
static bool DestroySound(EffectSound sound_effect)
Legacy, backwards compatibility.
Manager class for managing Effect (EffectParticle, EffectSound)
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Serializer ParamsReadContext
EntityEvent
Entity events for event-mask, or throwing event from code.
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
const int SAT_DEBUG_ACTION
proto void Insert(int index, string input)
Inserts a string into the n-th index, increasing the string length by the size of the input.