Dayz 1.25
Dayz Code Explorer by KGB
Загрузка...
Поиск...
Не найдено
Файл Land_Underground_Entrance.c

См. исходные тексты.

Структуры данных

class  Land_Underground_EntranceBase
 

Перечисления

enum  EUndegroundEntranceState
 

Функции

enum EUndegroundEntranceState AlarmLight ()
 
override void CreateLights ()
 
override void CleanUpOnClosedClient ()
 
override void OnDoorStateChangedServer (EUndegroundEntranceState newState)
 
vector GetLightPosition ()
 
void SoundEnded (Effect eff)
 
override void HandleAudioPlayback (EUndegroundEntranceState newState, EUndegroundEntranceState prevState)
 
override void OnUpdateClient (float timeSlice)
 
override void HandleVisualPlayback (EUndegroundEntranceState newState, EUndegroundEntranceState prevState)
 

Переменные

enum EUndegroundEntranceState MAIN
 
enum EUndegroundEntranceState SMALL
 
 UNINITIALIZED
 
 CLOSED
 
 OPENING_A
 
 OPENING_B
 
 OPENING_C
 
 OPENING_D
 
 OPENING_E
 
 OPENING_F
 
 OPENING_G
 
 CLOSING_A
 
 CLOSING_B
 
 CLOSING_C
 
 CLOSING_D
 
 CLOSING_E
 
 CLOSING_F
 
 CLOSING_G
 
Land_Underground_EntranceBase m_SirenSound
 
EffectSound m_DoorEngineSoundIn
 
EffectSound m_DoorEngineSoundLoop
 
EffectSound m_DoorEngineSoundOut
 
EffectSound m_LockingSound
 
EffectSound m_DoorMovementSoundIn
 
EffectSound m_DoorMovementSoundLoop
 
EffectSound m_DoorMovementSoundOut
 
AlarmLight m_AlarmLight
 
const string SIREN_SOUNDSET = "UndergroundDoor_Alarm_Loop_SoundSet"
 
const string ENGINE_SOUNDSET_LOOP_IN = "UndergroundDoor_ElectricMotor_Start_SoundSet"
 
const string ENGINE_SOUNDSET_LOOP = "UndergroundDoor_ElectricMotor_Loop_SoundSet"
 
const string ENGINE_SOUNDSET_LOOP_OUT = "UndergroundDoor_ElectricMotor_End_SoundSet"
 
const string LOCKING_SOUNDSET = "UndergroundDoor_Lock_SoundSet"
 
const string DOORMOVING_SOUNDSET_LOOP = "UndergroundDoor_DoorOpen_Loop_SoundSet"
 
const string DOORMOVING_SOUNDSET_LOOP_OUT = "UndergroundDoor_DoorOpen_End_SoundSet"
 
const string DOORMOVING_SOUNDSET_LOOP_IN = "UndergroundDoor_DoorOpen_Start_SoundSet"
 
const float LIGHT_ROT_SPEED = -400
 

Перечисления

◆ EUndegroundEntranceState

2{
4 CLOSED,//fully closed
5 //opening
10 OPENING_E,//fully open
13 //closing
21}
CLOSED
Definition Land_Underground_Entrance.c:33
OPENING_A
Definition Land_Underground_Entrance.c:35
OPENING_G
Definition Land_Underground_Entrance.c:41
OPENING_B
Definition Land_Underground_Entrance.c:36
CLOSING_D
Definition Land_Underground_Entrance.c:46
OPENING_C
Definition Land_Underground_Entrance.c:37
CLOSING_E
Definition Land_Underground_Entrance.c:47
CLOSING_C
Definition Land_Underground_Entrance.c:45
CLOSING_G
Definition Land_Underground_Entrance.c:50
CLOSING_F
Definition Land_Underground_Entrance.c:48
OPENING_E
Definition Land_Underground_Entrance.c:39
OPENING_F
Definition Land_Underground_Entrance.c:40
OPENING_D
Definition Land_Underground_Entrance.c:38
UNINITIALIZED
Definition Land_Underground_Entrance.c:32
CLOSING_A
Definition Land_Underground_Entrance.c:43
CLOSING_B
Definition Land_Underground_Entrance.c:44

Функции

◆ AlarmLight()

32 {
33 SetVisibleDuringDaylight(true);
34 SetRadiusTo(15);
35 SetBrightnessTo(10);
36 SetFlareVisible(false);
37 SetAmbientColor(1.0, 0.0, 0.0);
38 SetDiffuseColor(1.0, 0.0, 0.0);
39 SetLifetime(1000);
40 SetDisableShadowsWithinRadius(-1);
41 SetFadeOutTime(1);
42 SetCastShadow(false);
43 m_FadeInTime = 0.25;
44 }

Перекрестные ссылки CLOSED, CLOSING_A, CLOSING_B, CLOSING_C, CLOSING_D, CLOSING_E, CLOSING_F, CLOSING_G, OPENING_A, OPENING_B, OPENING_C, OPENING_D, OPENING_E, OPENING_F, OPENING_G и UNINITIALIZED.

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

◆ CleanUpOnClosedClient()

override void CleanUpOnClosedClient ( )
347 {
356
357 if (m_AlarmLight && GetGame())
358 {
359 m_AlarmLight.Destroy();
360 }
361 }
AlarmLight m_AlarmLight
Definition Land_Underground_Entrance.c:327
Land_Underground_EntranceBase m_SirenSound
EffectSound m_DoorEngineSoundIn
Definition Land_Underground_Entrance.c:318
EffectSound m_DoorMovementSoundLoop
Definition Land_Underground_Entrance.c:323
EffectSound m_DoorEngineSoundOut
Definition Land_Underground_Entrance.c:320
EffectSound m_DoorEngineSoundLoop
Definition Land_Underground_Entrance.c:319
EffectSound m_LockingSound
Definition Land_Underground_Entrance.c:321
EffectSound m_DoorMovementSoundOut
Definition Land_Underground_Entrance.c:324
EffectSound m_DoorMovementSoundIn
Definition Land_Underground_Entrance.c:322
Manager class for managing Effect (EffectParticle, EffectSound)
Definition EffectManager.c:6
static bool DestroySound(EffectSound sound_effect)
Legacy, backwards compatibility.
Definition EffectManager.c:410
proto native CGame GetGame()

Перекрестные ссылки SEffectManager::DestroySound(), GetGame(), m_AlarmLight, m_DoorEngineSoundIn, m_DoorEngineSoundLoop, m_DoorEngineSoundOut, m_DoorMovementSoundIn, m_DoorMovementSoundLoop, m_DoorMovementSoundOut, m_LockingSound и m_SirenSound.

◆ CreateLights()

override void CreateLights ( )
341 {
342 m_InteriorLight1 = EntranceLight.Cast(ScriptedLightBase.CreateLightAtObjMemoryPoint(EntranceLightMain1, this, "InteriorLightPos1"));
343 m_InteriorLight2 = EntranceLight.Cast(ScriptedLightBase.CreateLightAtObjMemoryPoint(EntranceLightMain2, this, "InteriorLightPos2"));
344 }
Definition EntityAI.c:95
Definition PointLightBase.c:2

◆ GetLightPosition()

vector GetLightPosition ( )
425 {
426 vector pos;
427 if (MemoryPointExists("SirenLightPos"))
428 {
429 pos = GetMemoryPointPos("SirenLightPos");
430 pos = ModelToWorld(pos);
431 }
432 else
433 {
434 ErrorEx("GetLightPosition could not locate memory point 'SirenLightPos'");
435 }
436 return pos;
437 }
Definition EnConvert.c:106
enum ShapeType ErrorEx

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

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

◆ HandleAudioPlayback()

override void HandleAudioPlayback ( EUndegroundEntranceState newState,
EUndegroundEntranceState prevState )
456 {
457 //Print("HandleAudioVisualPlayback " + newState + ", " + prevState);
458 //opening
459 if ( CheckShouldPlayPersistent(EUndegroundEntranceState.OPENING_A, EUndegroundEntranceState.OPENING_F))
460 {
461 PlaySoundSetAtMemoryPointLooped(m_SirenSound, SIREN_SOUNDSET, "SirenSoundPos",0.5,0.5);
462 }
463 if (newState == EUndegroundEntranceState.OPENING_B)
464 {
465 if (prevState == EUndegroundEntranceState.OPENING_A)//if they connected already during B, do not play the in
466 {
467 PlaySoundSetAtMemoryPoint(m_DoorEngineSoundIn, ENGINE_SOUNDSET_LOOP_IN, "DoorEngineSoundPos");
469 m_DoorEngineSoundIn.Event_OnEffectEnded.Insert(SoundEnded);
470 }
471 }
472
473 if (CheckShouldPlayPersistent(EUndegroundEntranceState.OPENING_B, EUndegroundEntranceState.OPENING_E))
474 {
475 if (!m_DoorEngineSoundLoop && !m_DoorEngineSoundIn)//missed playing of the IN soundset which automatically triggers playing of the loop(connected after ?)
476 {
477 PlaySoundSetAtMemoryPointLooped(m_DoorEngineSoundLoop, ENGINE_SOUNDSET_LOOP, "DoorEngineSoundPos");
478 }
479 }
480 if (newState == EUndegroundEntranceState.OPENING_C)
481 {
482 PlaySoundSetAtMemoryPoint(m_LockingSound, LOCKING_SOUNDSET, "DoorEngineSoundPos");
483 }
484 if (newState == EUndegroundEntranceState.OPENING_D)
485 {
486 if (prevState == EUndegroundEntranceState.OPENING_C)//if they connected already during C, do not play the in
487 {
488 PlaySoundSetAtMemoryPoint(m_DoorMovementSoundIn, DOORMOVING_SOUNDSET_LOOP_IN, "DoorEngineSoundPos");
490 m_DoorMovementSoundIn.Event_OnEffectEnded.Insert(SoundEnded);
491 }
492 else if (!m_DoorMovementSoundIn && !m_DoorMovementSoundLoop)//missed playing of the IN soundset which automatically triggers playing of the loop(connected after ?)
493 {
494 PlaySoundSetAtMemoryPointLooped(m_DoorMovementSoundLoop, DOORMOVING_SOUNDSET_LOOP, "DoorEngineSoundPos");
495 }
496 }
497
498 if (newState == EUndegroundEntranceState.OPENING_E)
499 {
500 StopSoundSet(m_DoorMovementSoundLoop);
501 PlaySoundSetAtMemoryPoint(m_DoorMovementSoundOut, DOORMOVING_SOUNDSET_LOOP_OUT, "DoorEngineSoundPos");
502 }
503 if (newState == EUndegroundEntranceState.OPENING_F)
504 {
505 StopSoundSet(m_DoorEngineSoundLoop);
506 PlaySoundSetAtMemoryPoint(m_DoorEngineSoundOut, ENGINE_SOUNDSET_LOOP_OUT, "DoorEngineSoundPos");
507 }
508 if (newState == EUndegroundEntranceState.OPENING_G)
509 {
510 StopSoundSet(m_SirenSound);
511 }
512
513 //closing
514 if (CheckShouldPlayPersistent(EUndegroundEntranceState.CLOSING_A, EUndegroundEntranceState.CLOSING_F))
515 {
516 PlaySoundSetAtMemoryPointLooped(m_SirenSound, SIREN_SOUNDSET, "SirenSoundPos",0.5,0.5);
517 }
518 if (CheckShouldPlayPersistent(EUndegroundEntranceState.CLOSING_B, EUndegroundEntranceState.CLOSING_E))
519 {
520 if (prevState == EUndegroundEntranceState.CLOSING_A)//if they connected already during B, do not play the in
521 {
522 PlaySoundSetAtMemoryPoint(m_DoorEngineSoundIn, ENGINE_SOUNDSET_LOOP_IN, "DoorEngineSoundPos");
524 m_DoorEngineSoundIn.Event_OnEffectEnded.Insert(SoundEnded);
525 }
526 }
527 if ( newState == EUndegroundEntranceState.CLOSING_C)
528 {
529 if (prevState == EUndegroundEntranceState.CLOSING_B)//if they connected already during C, do not play the in
530 {
531 PlaySoundSetAtMemoryPoint(m_DoorMovementSoundIn, DOORMOVING_SOUNDSET_LOOP_IN, "DoorEngineSoundPos");
533 m_DoorMovementSoundIn.Event_OnEffectEnded.Insert(SoundEnded);
534 }
535 else if (!m_DoorMovementSoundIn && !m_DoorMovementSoundLoop)//missed playing of the IN soundset which automatically triggers playing of the loop(connected after ?)
536 {
537 PlaySoundSetAtMemoryPointLooped(m_DoorMovementSoundLoop, DOORMOVING_SOUNDSET_LOOP, "DoorEngineSoundPos");
538 }
539 }
540 if (newState == EUndegroundEntranceState.CLOSING_D)
541 {
542 StopSoundSet(m_DoorMovementSoundLoop);
543 PlaySoundSetAtMemoryPoint(m_DoorMovementSoundOut, DOORMOVING_SOUNDSET_LOOP_OUT, "DoorEngineSoundPos");
544 }
545 if (newState == EUndegroundEntranceState.CLOSING_E)
546 {
547 PlaySoundSetAtMemoryPoint(m_LockingSound, LOCKING_SOUNDSET, "DoorEngineSoundPos");
548 }
549 if (newState == EUndegroundEntranceState.CLOSING_F)
550 {
551 StopSoundSet(m_DoorEngineSoundLoop);
552 PlaySoundSetAtMemoryPoint(m_DoorEngineSoundOut, ENGINE_SOUNDSET_LOOP_OUT, "DoorEngineSoundPos");
553 }
555 {
556 StopSoundSet(m_SirenSound);
557 }
558 }
const string ENGINE_SOUNDSET_LOOP_IN
Definition Land_Underground_Entrance.c:330
const string LOCKING_SOUNDSET
Definition Land_Underground_Entrance.c:333
const string DOORMOVING_SOUNDSET_LOOP
Definition Land_Underground_Entrance.c:334
const string DOORMOVING_SOUNDSET_LOOP_OUT
Definition Land_Underground_Entrance.c:335
void SoundEnded(Effect eff)
Definition Land_Underground_Entrance.c:439
const string DOORMOVING_SOUNDSET_LOOP_IN
Definition Land_Underground_Entrance.c:336
EUndegroundEntranceState
Definition Land_Underground_Entrance.c:2
const string ENGINE_SOUNDSET_LOOP_OUT
Definition Land_Underground_Entrance.c:332
const string ENGINE_SOUNDSET_LOOP
Definition Land_Underground_Entrance.c:331
const string SIREN_SOUNDSET
Definition Land_Underground_Entrance.c:329

Перекрестные ссылки DOORMOVING_SOUNDSET_LOOP, DOORMOVING_SOUNDSET_LOOP_IN, DOORMOVING_SOUNDSET_LOOP_OUT, ENGINE_SOUNDSET_LOOP, ENGINE_SOUNDSET_LOOP_IN, ENGINE_SOUNDSET_LOOP_OUT, LOCKING_SOUNDSET, m_DoorEngineSoundIn, m_DoorEngineSoundLoop, m_DoorEngineSoundOut, m_DoorMovementSoundIn, m_DoorMovementSoundLoop, m_DoorMovementSoundOut, m_LockingSound, m_SirenSound, SIREN_SOUNDSET и SoundEnded().

◆ HandleVisualPlayback()

override void HandleVisualPlayback ( EUndegroundEntranceState newState,
EUndegroundEntranceState prevState )
571 {
572 if ( CheckShouldPlayPersistent(EUndegroundEntranceState.OPENING_A, EUndegroundEntranceState.OPENING_F) || CheckShouldPlayPersistent(EUndegroundEntranceState.CLOSING_A, EUndegroundEntranceState.CLOSING_F))
573 {
575 }
577 {
578 if (m_AlarmLight)
579 {
580 m_AlarmLight.Destroy();
581 }
582 }
583 }
enum EUndegroundEntranceState AlarmLight()
Definition Land_Underground_Entrance.c:31
vector GetLightPosition()
Definition Land_Underground_Entrance.c:424

Перекрестные ссылки AlarmLight(), GetLightPosition() и m_AlarmLight.

◆ OnDoorStateChangedServer()

override void OnDoorStateChangedServer ( EUndegroundEntranceState newState)
364 {
365 switch (newState)
366 {
367 case EUndegroundEntranceState.OPENING_A:
368 RequestLatentTransition(AdjustTime(3));
369 break;
370 case EUndegroundEntranceState.OPENING_B:
371 RequestLatentTransition(AdjustTime(2));
372 break;
373 case EUndegroundEntranceState.OPENING_C:
374 RequestLatentTransition(AdjustTime(1));
375 break;
376 case EUndegroundEntranceState.OPENING_D:
377 m_AnimTimerDoorServer = new AnimationTimer();
378 m_AnimTimerDoorServer.Run(AdjustTime(GetOpeningTime()), this, "OnUpdateServer", "OnFinishedTimerServer",0, false,/*1/ AdjustTime(1)*/ 1);
379 m_NavmeshTimer = new Timer();
380 m_NavmeshTimer.Run(3, this, "NavmeshUpdate", NULL, true);
381 RequestLatentTransition(AdjustTime(GetOpeningTime()));
382 break;
383 case EUndegroundEntranceState.OPENING_E:
384 m_AnimTimerDoorServer.Stop();
385 NavmeshUpdate();
386 m_NavmeshTimer = null;
387 RequestLatentTransition(AdjustTime(3));
388 break;
389 case EUndegroundEntranceState.OPENING_F:
390 RequestLatentTransition(AdjustTime(3));
391 break;
392 case EUndegroundEntranceState.OPENING_G:
393 RequestLatentTransition(AdjustTime(300));
394 break;
395 case EUndegroundEntranceState.CLOSING_A:
396 RequestLatentTransition(AdjustTime(3));
397 break;
398 case EUndegroundEntranceState.CLOSING_B:
399 RequestLatentTransition(AdjustTime(3));
400 break;
401 case EUndegroundEntranceState.CLOSING_C:
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/ AdjustTime(1)*/ 1);
405 RequestLatentTransition(AdjustTime(GetOpeningTime()));
406 break;
407 case EUndegroundEntranceState.CLOSING_D:
408 NavmeshUpdate();
409 m_NavmeshTimer = null;
410 RequestLatentTransition(AdjustTime(2));
411 break;
412 case EUndegroundEntranceState.CLOSING_E:
413 RequestLatentTransition(AdjustTime(1));
414 break;
415 case EUndegroundEntranceState.CLOSING_F:
416 RequestLatentTransition(AdjustTime(3));
417 break;
418 case EUndegroundEntranceState.CLOSING_G:
419 RequestLatentTransition(0.25, EUndegroundEntranceState.CLOSED);
420 break;
421 }
422 }
float AdjustTime(float originalTime)
Definition Land_Underground_WaterReservoir.c:901
AnimationTimer class. This timer is for animating float value. usage:
Definition tools.c:653
Definition DayZPlayerImplement.c:63

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

◆ OnUpdateClient()

override void OnUpdateClient ( float timeSlice)
561 {
562 SetAnimationPhaseNow("EntranceDoor",m_AnimPhase);
563 if (m_AlarmLight)
564 {
565 vector newOri = m_AlarmLight.GetOrientation() + Vector(timeSlice * LIGHT_ROT_SPEED,0,0);
566 m_AlarmLight.SetOrientation(newOri);
567 }
568 }
const float LIGHT_ROT_SPEED
Definition Land_Underground_Entrance.c:338
proto native vector Vector(float x, float y, float z)
Vector constructor from components.

Перекрестные ссылки LIGHT_ROT_SPEED, m_AlarmLight и Vector().

◆ SoundEnded()

void SoundEnded ( Effect eff)
440 {
442 {
443 PlaySoundSetAtMemoryPointLooped(m_DoorMovementSoundLoop, DOORMOVING_SOUNDSET_LOOP, "DoorEngineSoundPos");
445 }
446 else if (eff == m_DoorEngineSoundIn)
447 {
448 PlaySoundSetAtMemoryPointLooped(m_DoorEngineSoundLoop, ENGINE_SOUNDSET_LOOP, "DoorEngineSoundPos");
450 }
451 }

Перекрестные ссылки DOORMOVING_SOUNDSET_LOOP, ENGINE_SOUNDSET_LOOP, m_DoorEngineSoundIn, m_DoorEngineSoundLoop, m_DoorMovementSoundIn и m_DoorMovementSoundLoop.

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

Переменные

◆ CLOSED

CLOSED

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

◆ CLOSING_A

CLOSING_A

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

◆ CLOSING_B

CLOSING_B

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

◆ CLOSING_C

CLOSING_C

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

◆ CLOSING_D

CLOSING_D

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

◆ CLOSING_E

CLOSING_E

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

◆ CLOSING_F

CLOSING_F

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

◆ CLOSING_G

CLOSING_G

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

◆ DOORMOVING_SOUNDSET_LOOP

const string DOORMOVING_SOUNDSET_LOOP = "UndergroundDoor_DoorOpen_Loop_SoundSet"

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

◆ DOORMOVING_SOUNDSET_LOOP_IN

const string DOORMOVING_SOUNDSET_LOOP_IN = "UndergroundDoor_DoorOpen_Start_SoundSet"

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

◆ DOORMOVING_SOUNDSET_LOOP_OUT

const string DOORMOVING_SOUNDSET_LOOP_OUT = "UndergroundDoor_DoorOpen_End_SoundSet"

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

◆ ENGINE_SOUNDSET_LOOP

const string ENGINE_SOUNDSET_LOOP = "UndergroundDoor_ElectricMotor_Loop_SoundSet"

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

◆ ENGINE_SOUNDSET_LOOP_IN

const string ENGINE_SOUNDSET_LOOP_IN = "UndergroundDoor_ElectricMotor_Start_SoundSet"

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

◆ ENGINE_SOUNDSET_LOOP_OUT

const string ENGINE_SOUNDSET_LOOP_OUT = "UndergroundDoor_ElectricMotor_End_SoundSet"

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

◆ LIGHT_ROT_SPEED

const float LIGHT_ROT_SPEED = -400

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

◆ LOCKING_SOUNDSET

const string LOCKING_SOUNDSET = "UndergroundDoor_Lock_SoundSet"

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

◆ m_AlarmLight

AlarmLight m_AlarmLight

◆ m_DoorEngineSoundIn

EffectSound m_DoorEngineSoundIn

◆ m_DoorEngineSoundLoop

EffectSound m_DoorEngineSoundLoop

◆ m_DoorEngineSoundOut

EffectSound m_DoorEngineSoundOut

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

◆ m_DoorMovementSoundIn

EffectSound m_DoorMovementSoundIn

◆ m_DoorMovementSoundLoop

EffectSound m_DoorMovementSoundLoop

◆ m_DoorMovementSoundOut

EffectSound m_DoorMovementSoundOut

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

◆ m_LockingSound

◆ m_SirenSound

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

◆ MAIN

◆ OPENING_A

OPENING_A

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

◆ OPENING_B

OPENING_B

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

◆ OPENING_C

OPENING_C

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

◆ OPENING_D

OPENING_D

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

◆ OPENING_E

OPENING_E

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

◆ OPENING_F

OPENING_F

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

◆ OPENING_G

OPENING_G

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

◆ SIREN_SOUNDSET

const string SIREN_SOUNDSET = "UndergroundDoor_Alarm_Loop_SoundSet"

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

◆ SMALL

◆ UNINITIALIZED

UNINITIALIZED

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