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);
137 if (p.GetClosestDoor() ==
this)
152 float AdjustTime(
float originalTime,
float adjustedTime = -1)
154 #ifdef DIAG_DEVELOPER
157 if (adjustedTime != -1)
161 if (FeatureTimeAccel.GetFeatureTimeAccelEnabled(ETimeAccelCategories.UNDERGROUND_ENTRANCE))
163 timeAccel = FeatureTimeAccel.GetFeatureTimeAccelValue();
164 return originalTime / timeAccel;
215 p.OnDoorStateChangedClient(newState, prevState);
235 super.OnVariablesSynchronized();
255 if (
GetGame().IsDedicatedServer())
272 if (button_index == 1)
278 if (button_index == 2)
292 override void GetDebugButtonNames(out
string button1, out
string button2, out
string button3, out
string button4)
368 m_AnimTimerDoorServer.Run(
AdjustTime(
GetOpeningTime()),
this,
"OnUpdateServer",
"OnFinishedTimerServer",0,
false, 1);
369 m_NavmeshTimer =
new Timer();
370 m_NavmeshTimer.Run(3,
this,
"NavmeshUpdate", NULL,
true);
374 m_AnimTimerDoorServer.Stop();
376 m_NavmeshTimer = null;
392 m_NavmeshTimer =
new Timer();
393 m_NavmeshTimer.Run(3,
this,
"NavmeshUpdate", NULL,
true);
394 m_AnimTimerDoorServer.Run(0,
this,
"OnUpdateServer",
"OnFinishedTimerServer",
AdjustTime(
GetOpeningTime()),
false, 1);
399 m_NavmeshTimer = null;
417 if (MemoryPointExists(
"SirenLightPos"))
419 pos = GetMemoryPointPos(
"SirenLightPos");
420 pos = ModelToWorld(pos);
424 ErrorEx(
"GetLightPosition could not locate memory point 'SirenLightPos'");
552 SetAnimationPhaseNow(
"EntranceDoor",m_AnimPhase);
override void OnDebugButtonPressServer(int button_index)
override void GetDebugButtonNames(out string button1, out string button2, out string button3, out string button4)
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:
float GetValue()
Returns actual animated value.
proto native bool RegisterNetworkStaticObject(Object object)
Static objects cannot be replicated by default (there are too many objects on the map)....
override ScriptCallQueue GetCallQueue(int call_category)
void UpdatePathgraphRegionByObject(Object object)
Wrapper class for managing sound through SEffectManager.
void OnDoorStateChangedServer(EUndegroundEntranceState newState)
void RequestLatentTransition(float time, EUndegroundEntranceState targetState=EUndegroundEntranceState.UNINITIALIZED)
override void EOnPostSimulate(IEntity other, float timeSlice)
EntranceLight m_InteriorLight1
ref array< Land_Underground_Panel > m_ConnectedPanels
void CleanUpOnClosedClient()
float AdjustTime(float originalTime, float adjustedTime=-1)
EUndegroundEntranceState m_DoorState
void ~Land_Underground_EntranceBase()
void OpenServer(bool force=false)
void HandleVisualPlayback(EUndegroundEntranceState newState, EUndegroundEntranceState prevState)
bool IsInitDoorStateSync()
void OnDoorStateChangedClient(EUndegroundEntranceState newState, EUndegroundEntranceState prevState)
void OnUpdateClient(float timeSlice)
bool CheckShouldPlayPersistent(EUndegroundEntranceState state, EUndegroundEntranceState lastValidState)
bool CanManipulate(Param param=null)
EUndegroundDoorType m_DoorType
void OnFinishedTimerServer()
EUndegroundEntranceState m_DoorStatePrev
ref AnimationTimer m_AnimTimerDoorServer
void Land_Underground_EntranceBase()
void SetDoorStateServer(EUndegroundEntranceState newState)
EntranceLight m_InteriorLight2
void CleanUpOnDeleteClient()
EntranceLight m_InteriorLight3
override void OnVariablesSynchronized()
void Manipulate(Param param=null)
void GetConnectedPanels(array< Land_Underground_Panel > panels)
void HandleAudioPlayback(EUndegroundEntranceState newState, EUndegroundEntranceState prevState)
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
Manager class for managing Effect (EffectParticle, EffectSound)
static bool DestroySound(EffectSound sound_effect)
Legacy, backwards compatibility.
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 void Remove(func fn)
remove specific call from queue
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
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.