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

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

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

enum  EInfectedSoundEventID {
  MINDSTATE_CALM_IDLE = 1 , MINDSTATE_CALM_MOVE , MINDSTATE_DISTURBED_IDLE , MINDSTATE_CHASE_MOVE ,
  MINDSTATE_ALERTED_IDLE , MINDSTATE_ALERTED_MOVE , ENUM_COUNT
}
 

Функции

void InfectedSoundEventHandler (ZombieBase pInfected)
 
static override int GetSoundEventType (int id)
 
override int GetCurrentStateEventID ()
 
override int GetCurrentStateEventType ()
 
void Stop ()
 
void SoftStop ()
 
bool IsPlaying ()
 
override bool PlayRequest (int id, bool sent_from_server=false)
 

Переменные

enum EInfectedSoundEventID SOUND_EVENTS_MAX = EInfectedSoundEventID.ENUM_COUNT
 
static ref InfectedSoundEventBase m_AvailableStates [SOUND_EVENTS_MAX]
 
ref InfectedSoundEventBase m_CurrentState
 
ZombieBase m_Infected
 

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

◆ EInfectedSoundEventID

Элементы перечислений
MINDSTATE_CALM_IDLE 
MINDSTATE_CALM_MOVE 
MINDSTATE_DISTURBED_IDLE 
MINDSTATE_CHASE_MOVE 
MINDSTATE_ALERTED_IDLE 
MINDSTATE_ALERTED_MOVE 
ENUM_COUNT 
2{
6 //MINDSTATE_CHASE_IDLE,
10 //--------------
12}
@ MINDSTATE_ALERTED_MOVE
Definition InfectedSoundEventHandler.c:9
@ ENUM_COUNT
Definition InfectedSoundEventHandler.c:11
@ MINDSTATE_DISTURBED_IDLE
Definition InfectedSoundEventHandler.c:5
@ MINDSTATE_CHASE_MOVE
Definition InfectedSoundEventHandler.c:7
@ MINDSTATE_ALERTED_IDLE
Definition InfectedSoundEventHandler.c:8
@ MINDSTATE_CALM_IDLE
Definition InfectedSoundEventHandler.c:3
@ MINDSTATE_CALM_MOVE
Definition InfectedSoundEventHandler.c:4

Функции

◆ GetCurrentStateEventID()

override int GetCurrentStateEventID ( )
39 {
41 {
42 return m_CurrentState.GetSoundEventID();
43 }
44 return -1;
45 }
ref InfectedSoundEventBase m_CurrentState
Definition InfectedSoundEventHandler.c:18

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

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

◆ GetCurrentStateEventType()

override int GetCurrentStateEventType ( )
48 {
50 {
51 return m_CurrentState.GetSoundEventType();
52 }
53 return -1;
54 }

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

◆ GetSoundEventType()

static override int GetSoundEventType ( int id)
static
34 {
35 return m_AvailableStates[id].GetSoundEventType();
36 }
static ref InfectedSoundEventBase m_AvailableStates[SOUND_EVENTS_MAX]
Definition InfectedSoundEventHandler.c:17
Definition EntityAI.c:95

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

◆ InfectedSoundEventHandler()

void InfectedSoundEventHandler ( ZombieBase pInfected)
22 {
26 m_AvailableStates[EInfectedSoundEventID.MINDSTATE_DISTURBED_IDLE] = new DisturbedIdleSoundEvent();
27 //m_AvailableStates[EInfectedSoundEventID.MINDSTATE_CHASE_IDLE] = new ChaseIdleSoundEvent();
30 m_AvailableStates[EInfectedSoundEventID.MINDSTATE_ALERTED_MOVE] = new AlertedMoveSoundEvent();
31 }
ZombieBase m_Infected
Definition InfectedSoundEventHandler.c:19
EInfectedSoundEventID
Definition InfectedSoundEventHandler.c:2
class MindStateSoundEventBase extends InfectedSoundEventBase CalmIdleSoundEvent()
Definition MindStates.c:15
class ChaseMoveSoundEvent extends MindStateSoundEventBase AlertedIdleSoundEvent()
Definition MindStates.c:55
void ChaseMoveSoundEvent()
Definition MindStates.c:56
class CalmMoveSoundEvent extends MindStateSoundEventBase DisturbedIdleSoundEvent()
Definition MindStates.c:35
void CalmMoveSoundEvent()
Definition MindStates.c:36

Перекрестные ссылки AlertedIdleSoundEvent(), CalmIdleSoundEvent(), CalmMoveSoundEvent(), ChaseMoveSoundEvent(), DisturbedIdleSoundEvent(), m_AvailableStates и m_Infected.

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

◆ IsPlaying()

bool IsPlaying ( )
73 {
74 if ( m_CurrentState && m_CurrentState.IsSoundCallbackExist() )
75 {
76 return true;
77 }
78
79 return false;
80 }

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

◆ PlayRequest()

override bool PlayRequest ( int id,
bool sent_from_server = false )

same sound event - skip

83 {
85
86 if ( !requested_state.CanPlay() )
87 {
88 return false;
89 }
90
92 {
93 if (!m_CurrentState.IsSoundCallbackExist())
94 {
95 //Print("Missing callback - cleanup and continue");
96 delete m_CurrentState;
97 }
98
100 if (GetCurrentStateEventID() == id)
101 {
102 //Print("Same ID - skipping");
103 return false;
104 }
105 }
106
107 if (m_CurrentState)
108 {
109 m_CurrentState.SoftStop();
110 m_CurrentState = InfectedSoundEventBase.Cast(requested_state.ClassName().ToType().Spawn());
112 m_CurrentState.Play();
113 return true;
114 }
115 else
116 {
117 m_CurrentState = InfectedSoundEventBase.Cast(requested_state.ClassName().ToType().Spawn());
119 m_CurrentState.Play();
120 return true;
121 }
122
123 return false;//should never get here
124 }
override int GetCurrentStateEventID()
Definition InfectedSoundEventHandler.c:38
Definition MindStates.c:2

Перекрестные ссылки GetCurrentStateEventID(), m_AvailableStates, m_CurrentState и m_Infected.

◆ SoftStop()

void SoftStop ( )
65 {
66 if ( m_CurrentState )
67 {
68 m_CurrentState.SoftStop();
69 }
70 }

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

◆ Stop()

void Stop ( )
57 {
58 if ( m_CurrentState )
59 {
60 m_CurrentState.Stop();
61 }
62 }

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

Переменные

◆ m_AvailableStates

◆ m_CurrentState

◆ m_Infected

ZombieBase m_Infected

◆ SOUND_EVENTS_MAX

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