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);
69 RegisterNetSyncVariableFloat(
"m_AnimPhase", 0,1,5);
139 if (p.GetClosestDoor() ==
this)
154 float AdjustTime(
float originalTime,
float adjustedTime = -1)
156 #ifdef DIAG_DEVELOPER
159 if (adjustedTime != -1)
163 if (FeatureTimeAccel.GetFeatureTimeAccelEnabled(ETimeAccelCategories.UNDERGROUND_ENTRANCE))
165 timeAccel = FeatureTimeAccel.GetFeatureTimeAccelValue();
166 return originalTime / timeAccel;
217 p.OnDoorStateChangedClient(newState, prevState);
237 super.OnVariablesSynchronized();
257 if (
GetGame().IsDedicatedServer())
272 override void GetDebugActions(out TSelectableActionInfoArrayEx outputList)
278 super.GetDebugActions(outputList);
283 if (super.OnAction(action_id, player, ctx))
287 if (action_id ==
EActions.ACTIVATE_ENTITY)
292 else if (action_id ==
EActions.DEACTIVATE_ENTITY)
378 m_AnimTimerDoorServer.Run(
AdjustTime(
GetOpeningTime()),
this,
"OnUpdateServer",
"OnFinishedTimerServer",0,
false, 1);
379 m_NavmeshTimer =
new Timer();
380 m_NavmeshTimer.Run(3,
this,
"NavmeshUpdate", NULL,
true);
384 m_AnimTimerDoorServer.Stop();
386 m_NavmeshTimer = null;
402 m_NavmeshTimer =
new Timer();
403 m_NavmeshTimer.Run(3,
this,
"NavmeshUpdate", NULL,
true);
404 m_AnimTimerDoorServer.Run(0,
this,
"OnUpdateServer",
"OnFinishedTimerServer",
AdjustTime(
GetOpeningTime()),
false, 1);
409 m_NavmeshTimer = null;
427 if (MemoryPointExists(
"SirenLightPos"))
429 pos = GetMemoryPointPos(
"SirenLightPos");
430 pos = ModelToWorld(pos);
434 ErrorEx(
"GetLightPosition could not locate memory point 'SirenLightPos'");
562 SetAnimationPhaseNow(
"EntranceDoor",m_AnimPhase);
Param4< int, int, string, int > TSelectableActionInfoWithColor
override bool OnAction(int action_id, Man player, ParamsReadContext ctx)
override void GetDebugActions(out TSelectableActionInfoArrayEx outputList)
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:
proto native World GetWorld()
override ScriptCallQueue GetCallQueue(int call_category)
proto native bool RegisterNetworkStaticObject(Object object)
Static objects cannot be replicated by default (there are too many objects on the map)....
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
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()
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)
proto void Remove(func fn)
remove specific call from queue
proto void CallLater(func fn, int delay=0, bool repeat=false, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
adds call into the queue with given parameters and arguments (arguments are held in memory until the ...
proto native void UpdatePathgraphDoorByAnimationSourceName(notnull Object object, string animSourceName)
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Serializer ParamsReadContext
proto native CGame GetGame()
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.