DayZ 1.26
DayZ Explorer by KGB
Загрузка...
Поиск...
Не найдено
Класс Land_Underground_EntranceBase
+ Граф наследования:Land_Underground_EntranceBase:

Закрытые члены

void Land_Underground_EntranceBase ()
 
void CreateLights ()
 
void ~Land_Underground_EntranceBase ()
 
void CleanUpOnDeleteClient ()
 
void CleanUpOnClosedClient ()
 
bool CanManipulate (Param param=null)
 
void Manipulate (Param param=null)
 
void NavmeshUpdate ()
 
void OnUpdateClient (float timeSlice)
 
override void EOnPostSimulate (IEntity other, float timeSlice)
 
void OnUpdateServer ()
 
void GetConnectedPanels (array< Land_Underground_Panel > panels)
 
bool CheckShouldPlayPersistent (EUndegroundEntranceState state, EUndegroundEntranceState lastValidState)
 
float AdjustTime (float originalTime, float adjustedTime=-1)
 
float GetOpeningTime ()
 
void RequestLatentTransition (float time, EUndegroundEntranceState targetState=EUndegroundEntranceState.UNINITIALIZED)
 
void SetDoorStateServer (EUndegroundEntranceState newState)
 
void OnDoorStateChangedServer (EUndegroundEntranceState newState)
 
void OnDoorStateChangedClient (EUndegroundEntranceState newState, EUndegroundEntranceState prevState)
 
void OpenServer (bool force=false)
 
void HandleVisualPlayback (EUndegroundEntranceState newState, EUndegroundEntranceState prevState)
 
void HandleAudioPlayback (EUndegroundEntranceState newState, EUndegroundEntranceState prevState)
 
void OnFinishedTimerServer ()
 
override void OnVariablesSynchronized ()
 
bool IsInitDoorStateSync ()
 

Закрытые данные

EUndegroundEntranceState m_DoorState = EUndegroundEntranceState.CLOSED
 
EUndegroundEntranceState m_DoorStatePrev = EUndegroundEntranceState.UNINITIALIZED
 
float m_AnimPhase
 
ref AnimationTimer m_AnimTimerDoorServer
 
ref Timer m_NavmeshTimer
 
ref array< Land_Underground_Panelm_ConnectedPanels
 
EUndegroundDoorType m_DoorType
 
EntranceLight m_InteriorLight1
 
EntranceLight m_InteriorLight2
 
EntranceLight m_InteriorLight3
 

Подробное описание

Конструктор(ы)

◆ Land_Underground_EntranceBase()

66 {
68 Land_Underground_Panel.RegisterEntrance(this);
69 RegisterNetSyncVariableFloat("m_AnimPhase", 0,1,5);
70 RegisterNetSyncVariableInt("m_DoorState", 0, EnumTools.GetLastEnumValue(EUndegroundEntranceState));
71
72 #ifndef SERVER
73 GetGame().GetCallQueue( CALL_CATEGORY_SYSTEM ).CallLater( CreateLights, 250);
74 #endif
75 }
EUndegroundEntranceState
Definition Land_Underground_Entrance.c:2
Definition EnConvert.c:590
static int GetLastEnumValue(typename e)
Return amount of values in enum.
Definition EnConvert.c:647
EUndegroundDoorType m_DoorType
Definition Land_Underground_Entrance.c:59
Definition EntityAI.c:95
proto native CGame GetGame()
const int CALL_CATEGORY_SYSTEM
Definition tools.c:8

Перекрестные ссылки CALL_CATEGORY_SYSTEM, CreateLights(), GetGame(), EnumTools::GetLastEnumValue() и m_DoorType.

◆ ~Land_Underground_EntranceBase()

void ~Land_Underground_EntranceBase ( )
inlineprivate
80 {
81 Land_Underground_Panel.UnregisterEntrance(this);
82 #ifndef SERVER
84 #endif
85 }
void CleanUpOnDeleteClient()
Definition Land_Underground_Entrance.c:89

Перекрестные ссылки CleanUpOnDeleteClient().

Методы

◆ AdjustTime()

float AdjustTime ( float originalTime,
float adjustedTime = -1 )
inlineprivate
155 {
156 #ifdef DIAG_DEVELOPER
157 float timeAccel = 1;
158
159 if (adjustedTime != -1)
160 {
161 return adjustedTime;
162 }
163 if (FeatureTimeAccel.GetFeatureTimeAccelEnabled(ETimeAccelCategories.UNDERGROUND_ENTRANCE))
164 {
165 timeAccel = FeatureTimeAccel.GetFeatureTimeAccelValue();
166 return originalTime / timeAccel;
167 }
168 #endif
169 return originalTime;
170 }

Используется в Land_Underground_Stairs_Exit::GetOpeningTime(), Land_Underground_Stairs_Exit::OnDoorStateChangedServer() и OnUpdateServer().

◆ CanManipulate()

bool CanManipulate ( Param param = null)
inlineprivate
99 {
100 return m_DoorState == EUndegroundEntranceState.CLOSED;
101 }
EUndegroundEntranceState m_DoorState
Definition Land_Underground_Entrance.c:53

Перекрестные ссылки m_DoorState.

Используется в CanInteract().

◆ CheckShouldPlayPersistent()

bool CheckShouldPlayPersistent ( EUndegroundEntranceState state,
EUndegroundEntranceState lastValidState )
inlineprivate
150 {
152 }
bool IsInitDoorStateSync()
Definition Land_Underground_Entrance.c:246

Перекрестные ссылки IsInitDoorStateSync() и m_DoorState.

◆ CleanUpOnClosedClient()

void CleanUpOnClosedClient ( )
private

Используется в CleanUpOnDeleteClient() и OnDoorStateChangedClient().

◆ CleanUpOnDeleteClient()

void CleanUpOnDeleteClient ( )
inlineprivate
90 {
91 //anything we might have started playing when the door was activated
93 }

Перекрестные ссылки CleanUpOnClosedClient().

Используется в ~Land_Underground_EntranceBase().

◆ CreateLights()

void CreateLights ( )
private

Используется в Land_Underground_EntranceBase().

◆ EOnPostSimulate()

override void EOnPostSimulate ( IEntity other,
float timeSlice )
inlineprivate
115 {
116 #ifndef SERVER
118 #endif
119 }
void OnUpdateClient(float timeSlice)

Перекрестные ссылки OnUpdateClient().

◆ GetConnectedPanels()

void GetConnectedPanels ( array< Land_Underground_Panel > panels)
inlineprivate
132 {
133 if (!Land_Underground_Panel.m_Panels)
134 {
135 return;
136 }
137 foreach (Land_Underground_Panel p:Land_Underground_Panel.m_Panels)
138 {
139 if (p.GetClosestDoor() == this)
140 {
141 panels.Insert(p);
142 }
143 }
144 }
static ref set< Land_Underground_Panel > m_Panels
Definition Land_Underground_Panel.c:17

Используется в OnDoorStateChangedClient().

◆ GetOpeningTime()

float GetOpeningTime ( )
inlineprivate
173 {
174 return 30;
175 }

Используется в OnUpdateServer().

◆ HandleAudioPlayback()

void HandleAudioPlayback ( EUndegroundEntranceState newState,
EUndegroundEntranceState prevState )
private

Используется в OnDoorStateChangedClient().

◆ HandleVisualPlayback()

void HandleVisualPlayback ( EUndegroundEntranceState newState,
EUndegroundEntranceState prevState )
private

Используется в OnDoorStateChangedClient().

◆ IsInitDoorStateSync()

bool IsInitDoorStateSync ( )
inlineprivate
247 {
248 return m_DoorStatePrev == EUndegroundEntranceState.UNINITIALIZED;
249 }
EUndegroundEntranceState m_DoorStatePrev
Definition Land_Underground_Entrance.c:54

Перекрестные ссылки m_DoorStatePrev.

Используется в CheckShouldPlayPersistent().

◆ Manipulate()

void Manipulate ( Param param = null)
inlineprivate
104 {
105 OpenServer();
106 }
void OpenServer(bool force=false)
Definition Land_Underground_Entrance.c:221

Перекрестные ссылки OpenServer().

Используется в Interact().

◆ NavmeshUpdate()

void NavmeshUpdate ( )
inlineprivate
109 {
110 }

◆ OnDoorStateChangedClient()

void OnDoorStateChangedClient ( EUndegroundEntranceState newState,
EUndegroundEntranceState prevState )
inlineprivate
196 {
198 {
199 SetEventMask(EntityEvent.POSTSIMULATE);
200 }
201 else
202 {
203 ClearEventMask(EntityEvent.POSTSIMULATE);
205 }
206
209
211 {
214 }
215 foreach (Land_Underground_Panel p:m_ConnectedPanels)
216 {
217 p.OnDoorStateChangedClient(newState, prevState);
218 }
219 }
ref array< Land_Underground_Panel > m_ConnectedPanels
Definition Land_Underground_Entrance.c:58
void HandleVisualPlayback(EUndegroundEntranceState newState, EUndegroundEntranceState prevState)
void GetConnectedPanels(array< Land_Underground_Panel > panels)
Definition Land_Underground_Entrance.c:131
void HandleAudioPlayback(EUndegroundEntranceState newState, EUndegroundEntranceState prevState)
EntityEvent
Entity events for event-mask, or throwing event from code.
Definition EnEntity.c:45

Перекрестные ссылки CleanUpOnClosedClient(), GetConnectedPanels(), HandleAudioPlayback(), HandleVisualPlayback() и m_ConnectedPanels.

Используется в OnVariablesSynchronized().

◆ OnDoorStateChangedServer()

void OnDoorStateChangedServer ( EUndegroundEntranceState newState)
private

Используется в SetDoorStateServer().

◆ OnFinishedTimerServer()

void OnFinishedTimerServer ( )
private

◆ OnUpdateClient()

void OnUpdateClient ( float timeSlice)
private

Используется в EOnPostSimulate().

◆ OnUpdateServer()

void OnUpdateServer ( )
inlineprivate
122 {
123 m_AnimPhase = m_AnimTimerDoorServer.GetValue() / AdjustTime(GetOpeningTime());// make 0..1
124 SetAnimationPhaseNow("EntranceDoor",m_AnimPhase);
125
126 GetGame().GetWorld().UpdatePathgraphDoorByAnimationSourceName(this, "EntranceDoor");
127
128 SetSynchDirty();
129 }
float AdjustTime(float originalTime, float adjustedTime=-1)
Definition Land_Underground_Entrance.c:154
ref AnimationTimer m_AnimTimerDoorServer
Definition Land_Underground_Entrance.c:56
float m_AnimPhase
Definition Land_Underground_Entrance.c:55
float GetOpeningTime()
Definition Land_Underground_Entrance.c:172

Перекрестные ссылки AdjustTime(), GetGame(), GetOpeningTime(), m_AnimPhase и m_AnimTimerDoorServer.

◆ OnVariablesSynchronized()

override void OnVariablesSynchronized ( )
inlineprivate
236 {
237 super.OnVariablesSynchronized();
238
240 {
243 }
244 }
void OnDoorStateChangedClient(EUndegroundEntranceState newState, EUndegroundEntranceState prevState)
Definition Land_Underground_Entrance.c:195

Перекрестные ссылки m_DoorState, m_DoorStatePrev и OnDoorStateChangedClient().

◆ OpenServer()

void OpenServer ( bool force = false)
inlineprivate
222 {
223 GetGame().RegisterNetworkStaticObject(this);
225 {
227 }
228 }
void SetDoorStateServer(EUndegroundEntranceState newState)
Definition Land_Underground_Entrance.c:186

Перекрестные ссылки GetGame(), m_DoorState и SetDoorStateServer().

Используется в Manipulate().

◆ RequestLatentTransition()

void RequestLatentTransition ( float time,
EUndegroundEntranceState targetState = EUndegroundEntranceState.UNINITIALIZED )
inlineprivate
178 {
179 if (targetState == EUndegroundEntranceState.UNINITIALIZED)
180 {
182 }
183 GetGame().GetCallQueue( CALL_CATEGORY_SYSTEM ).CallLater( SetDoorStateServer, time * 1000, false, targetState);
184 }

Перекрестные ссылки CALL_CATEGORY_SYSTEM, GetGame(), m_DoorState и SetDoorStateServer().

Используется в Land_Underground_Stairs_Exit::OnDoorStateChangedServer().

◆ SetDoorStateServer()

void SetDoorStateServer ( EUndegroundEntranceState newState)
inlineprivate
187 {
190 SetSynchDirty();
191 }
void OnDoorStateChangedServer(EUndegroundEntranceState newState)

Перекрестные ссылки m_DoorState и OnDoorStateChangedServer().

Используется в OpenServer() и RequestLatentTransition().

Поля

◆ m_AnimPhase

float m_AnimPhase
private

Используется в OnUpdateServer().

◆ m_AnimTimerDoorServer

ref AnimationTimer m_AnimTimerDoorServer
private

◆ m_ConnectedPanels

ref array<Land_Underground_Panel> m_ConnectedPanels
private

Используется в OnDoorStateChangedClient().

◆ m_DoorState

◆ m_DoorStatePrev

EUndegroundEntranceState m_DoorStatePrev = EUndegroundEntranceState.UNINITIALIZED
private

Используется в IsInitDoorStateSync() и OnVariablesSynchronized().

◆ m_DoorType

◆ m_InteriorLight1

EntranceLight m_InteriorLight1
private

Используется в Land_Underground_Stairs_Exit::CreateLights().

◆ m_InteriorLight2

EntranceLight m_InteriorLight2
private

Используется в Land_Underground_Stairs_Exit::CreateLights().

◆ m_InteriorLight3

EntranceLight m_InteriorLight3
private

◆ m_NavmeshTimer

ref Timer m_NavmeshTimer
private

Объявления и описания членов класса находятся в файле: