DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ OnDoorCloseStart()

override void GetLockCompatibilityType::OnDoorCloseStart ( DoorStartParams params)
protected

См. определение в файле ContainerLocked.c строка 201

202{
203 protected int m_LockedMask = 0;
204 protected int m_OpeningMask = 0;
205
207 {
208 int count = GetDoorCount();
209 for (int i = 0; i < count; i++)
210 {
211 LockDoor(i);
212 }
213 }
214
215 override void OnStoreSave(ParamsWriteContext ctx)
216 {
217 super.OnStoreSave(ctx);
218
219 ctx.Write(m_LockedMask);
220 ctx.Write(m_OpeningMask);
221 }
222
223 override bool OnStoreLoad(ParamsReadContext ctx, int version)
224 {
225 if (!super.OnStoreLoad(ctx, version))
226 return false;
227
228 ctx.Read(m_LockedMask);
229 ctx.Read(m_OpeningMask);
230
232
233 return true;
234 }
235
236 protected void HandleDoorLoad()
237 {
238 int count = GetDoorCount();
239 int i;
240
241 //locking
242 for (i = 0; i < count; i++)
243 {
244 if (m_LockedMask & (1 << i))
245 {
246 LockDoor(i,true);
247 }
248 else
249 {
250 UnlockDoor(i);
251 }
252 }
253
254 //then opening
255 for (i = 0; i < count; i++)
256 {
257 if (m_OpeningMask & (1 << i) && !IsDoorLocked(i))
258 {
259 OpenDoor(i);
260 }
261 }
262 }
263
265 //events
266
267 override void OnDoorLocked(DoorLockParams params)
268 {
269 super.OnDoorLocked(params);
270
271 m_LockedMask |= 1 << params.param1;
272
273
274 string selectionName = string.Format("side%1_lock",(params.param1 + 1));
275 SetAnimationPhase(selectionName,0);
276 }
277
278 override void OnDoorUnlocked(DoorLockParams params)
279 {
280 super.OnDoorUnlocked(params);
281
282 int doorIdx = params.param1;
283
284 m_LockedMask &= ~(1 << doorIdx);
285
286 string selectionName = string.Format("side%1_lock",(doorIdx + 1));
287 SetAnimationPhase(selectionName,1);
288
289 if (!GetGame().IsDedicatedServer())
290 SEffectManager.PlaySoundEnviroment("Land_ContainerLocked_lock_SoundSet",GetDoorSoundPos(doorIdx));
291 }
292
293 override void OnDoorCloseStart(DoorStartParams params)
294 {
295 super.OnDoorCloseStart(params);
296
297 m_OpeningMask &= ~(1 << params.param1);
298 }
299
300 override void OnDoorOpenStart(DoorStartParams params)
301 {
302 super.OnDoorOpenStart(params);
303
304 m_OpeningMask |= 1 << params.param1;
305 }
306}
307
308class Land_ContainerLocked_Blue_DE : ContainerLockedBase
309{
310 override int GetLockCompatibilityType(int doorIdx)
311 {
312 return 1 << EBuildingLockType.SHIP_CONTAINER_0;
313 }
314}
315
317{
318 override int GetLockCompatibilityType(int doorIdx)
319 {
320 return 1 << EBuildingLockType.SHIP_CONTAINER_1;
321 }
322}
323
324class Land_ContainerLocked_Orange_DE : ContainerLockedBase
325{
326 override int GetLockCompatibilityType(int doorIdx)
327 {
328 return 1 << EBuildingLockType.SHIP_CONTAINER_2;
329 }
330}
331
333{
334 override int GetLockCompatibilityType(int doorIdx)
335 {
336 return 1 << EBuildingLockType.SHIP_CONTAINER_3;
337 }
338}
Param1< int > DoorStartParams
Определения Building.c:1
Param1< int > DoorLockParams
Определения Building.c:3
int m_LockedMask
Определения ContainerLocked.c:111
override void OnDoorOpenStart(DoorStartParams params)
Определения ContainerLocked.c:208
ContainerLockedBase BuildingSuper GetLockCompatibilityType(int doorIdx)
Определения ContainerLocked.c:110
override void OnStoreSave(ParamsWriteContext ctx)
Определения ContainerLocked.c:123
override void OnDoorLocked(DoorLockParams params)
Определения ContainerLocked.c:175
override bool OnStoreLoad(ParamsReadContext ctx, int version)
Определения ContainerLocked.c:131
int m_OpeningMask
Определения ContainerLocked.c:112
void ContainerLockedBase()
Определения ContainerLocked.c:114
override void OnDoorUnlocked(DoorLockParams params)
Определения ContainerLocked.c:186
override void OnDoorCloseStart(DoorStartParams params)
Определения ContainerLocked.c:201
void HandleDoorLoad()
Определения ContainerLocked.c:144
EBuildingLockType
Определения EBuildingLockTypes.c:2
Определения FuelStation.c:2
override int GetLockCompatibilityType(int doorIdx)
Определения ContainerLocked.c:134
override int GetLockCompatibilityType(int doorIdx)
Определения ContainerLocked.c:118
static EffectSound PlaySoundEnviroment(string sound_set, vector position, float play_fade_in=0, float stop_fade_out=0, bool loop=false)
Create and play an EffectSound, updating environment variables.
Определения EffectManager.c:228
Manager class for managing Effect (EffectParticle, EffectSound)
Определения EffectManager.c:6
proto bool Write(void value_out)
proto bool Read(void value_in)
Serializer ParamsReadContext
Определения gameplay.c:15
proto native CGame GetGame()
Serializer ParamsWriteContext
Определения gameplay.c:16
static proto string Format(string fmt, 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)
Gets n-th character from string.