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

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

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

enum  EPlayerSoundEventID {
  HOLD_BREATH = 1 , EXHAUSTED_BREATH , RELEASE_BREATH , STAMINA_DOWN_LIGHT ,
  STAMINA_DOWN_HEAVY , STAMINA_UP_LIGHT , STAMINA_UP_HEAVY , STAMINA_UP_END ,
  STAMINA_NORMAL_DUMMY , TAKING_DMG_LIGHT , TAKING_DMG_HEAVY , SYMPTOM_COUGH ,
  SYMPTOM_LAUGHTER , SYMPTOM_SNEEZE , JUMP , MELEE_ATTACK_LIGHT ,
  INJURED_LIGHT , INJURED_MEDIUM , INJURED_HIGH , FREEZING ,
  HOT , SYMPTOM_FATIGUE , STAMINA_LOW_FILTER_UPPER , STAMINA_LOW_FILTER_MID ,
  STAMINA_LOW_FILTER_LOWER , DROWNING_BREATH , DROWNING_PAIN , PICKUP_HEAVY ,
  THIRST , ENUM_COUNT
}
 

Функции

void PlayerSoundEventHandler (PlayerBase player)
 
void RegisterState (PlayerSoundEventBase state)
 
void OnTick (float delta_time)
 
int ConvertAnimIDtoEventID (int anim_id)
 
static override EPlayerSoundEventType GetSoundEventType (int id)
 
override int GetCurrentStateEventID ()
 
override int GetCurrentStateEventType ()
 
override bool PlayRequestEx (EPlayerSoundEventID id, bool sent_from_server=false, int param=0)
 
override bool PlayRequest (EPlayerSoundEventID id, bool sent_from_server=false)
 

Переменные

enum EPlayerSoundEventID m_Player
 
const int SOUND_EVENTS_MAX = EPlayerSoundEventID.ENUM_COUNT
 
static ref PlayerSoundEventBase m_AvailableStates [SOUND_EVENTS_MAX]
 
static ref map< int, intm_ConfigIDToScriptIDmapping = new ref map<int,int>
 
ref PlayerSoundEventBase m_CurrentState
 
ref Timer m_UpdateTimer
 

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

◆ EPlayerSoundEventID

Элементы перечислений
HOLD_BREATH 
EXHAUSTED_BREATH 
RELEASE_BREATH 
STAMINA_DOWN_LIGHT 
STAMINA_DOWN_HEAVY 
STAMINA_UP_LIGHT 
STAMINA_UP_HEAVY 
STAMINA_UP_END 
STAMINA_NORMAL_DUMMY 
TAKING_DMG_LIGHT 
TAKING_DMG_HEAVY 
SYMPTOM_COUGH 
SYMPTOM_LAUGHTER 
SYMPTOM_SNEEZE 
JUMP 
MELEE_ATTACK_LIGHT 
INJURED_LIGHT 
INJURED_MEDIUM 
INJURED_HIGH 
FREEZING 
HOT 
SYMPTOM_FATIGUE 
STAMINA_LOW_FILTER_UPPER 
STAMINA_LOW_FILTER_MID 
STAMINA_LOW_FILTER_LOWER 
DROWNING_BREATH 
DROWNING_PAIN 
PICKUP_HEAVY 
THIRST 
ENUM_COUNT 
2{
3 HOLD_BREATH = 1,
17 JUMP,
24 HOT,
32 THIRST,
33 //--------------
34 // Count bellow, put enums above
35 //--------------
37}
@ JUMP
Definition PlayerSoundEventHandler.c:17
@ TAKING_DMG_LIGHT
Definition PlayerSoundEventHandler.c:12
@ SYMPTOM_FATIGUE
Definition PlayerSoundEventHandler.c:25
@ ENUM_COUNT
Definition PlayerSoundEventHandler.c:36
@ SYMPTOM_SNEEZE
Definition PlayerSoundEventHandler.c:16
@ RELEASE_BREATH
Definition PlayerSoundEventHandler.c:5
@ SYMPTOM_LAUGHTER
Definition PlayerSoundEventHandler.c:15
@ DROWNING_PAIN
Definition PlayerSoundEventHandler.c:30
@ THIRST
Definition PlayerSoundEventHandler.c:32
@ HOT
Definition PlayerSoundEventHandler.c:24
@ STAMINA_UP_END
Definition PlayerSoundEventHandler.c:10
@ INJURED_MEDIUM
Definition PlayerSoundEventHandler.c:21
@ FREEZING
Definition PlayerSoundEventHandler.c:23
@ EXHAUSTED_BREATH
Definition PlayerSoundEventHandler.c:4
@ STAMINA_UP_LIGHT
Definition PlayerSoundEventHandler.c:8
@ INJURED_HIGH
Definition PlayerSoundEventHandler.c:22
@ MELEE_ATTACK_LIGHT
Definition PlayerSoundEventHandler.c:18
@ STAMINA_LOW_FILTER_LOWER
Definition PlayerSoundEventHandler.c:28
@ STAMINA_NORMAL_DUMMY
Definition PlayerSoundEventHandler.c:11
@ SYMPTOM_COUGH
Definition PlayerSoundEventHandler.c:14
@ HOLD_BREATH
Definition PlayerSoundEventHandler.c:3
@ STAMINA_LOW_FILTER_UPPER
Definition PlayerSoundEventHandler.c:26
@ PICKUP_HEAVY
Definition PlayerSoundEventHandler.c:31
@ INJURED_LIGHT
Definition PlayerSoundEventHandler.c:20
@ DROWNING_BREATH
Definition PlayerSoundEventHandler.c:29
@ STAMINA_DOWN_LIGHT
Definition PlayerSoundEventHandler.c:6
@ STAMINA_DOWN_HEAVY
Definition PlayerSoundEventHandler.c:7
@ STAMINA_LOW_FILTER_MID
Definition PlayerSoundEventHandler.c:27
@ STAMINA_UP_HEAVY
Definition PlayerSoundEventHandler.c:9
@ TAKING_DMG_HEAVY
Definition PlayerSoundEventHandler.c:13
Definition EntityAI.c:95

Функции

◆ ConvertAnimIDtoEventID()

int ConvertAnimIDtoEventID ( int anim_id)
113 {
115 }
static ref map< int, int > m_ConfigIDToScriptIDmapping
Definition PlayerSoundEventHandler.c:44

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

◆ GetCurrentStateEventID()

override int GetCurrentStateEventID ( )
123 {
125 {
126 return m_CurrentState.GetSoundEventID();
127 }
128 return -1;
129 }
ref PlayerSoundEventBase m_CurrentState
Definition PlayerSoundEventHandler.c:45

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

◆ GetCurrentStateEventType()

override int GetCurrentStateEventType ( )
132 {
134 {
135 return m_CurrentState.GetSoundEventType();
136 }
137 return -1;
138 }

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

◆ GetSoundEventType()

static override EPlayerSoundEventType GetSoundEventType ( int id)
static
118 {
119 return m_AvailableStates[id].GetSoundEventType();
120 }
static ref PlayerSoundEventBase m_AvailableStates[SOUND_EVENTS_MAX]
Definition PlayerSoundEventHandler.c:43

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

◆ OnTick()

void OnTick ( float delta_time)
102 {
103 if (m_CurrentState)
104 {
105 if( m_CurrentState.IsFinished())
107 else
109 }
110 }

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

◆ PlayerSoundEventHandler()

void PlayerSoundEventHandler ( PlayerBase player)
50 {
52
53 if(!m_UpdateTimer && !m_Player.IsControlledPlayer())
54 {
55 m_UpdateTimer = new Timer();
56 m_UpdateTimer.Run(1, this, "OnTick", null, true);//ticking for remotes, the controlled player is ticking on command handler at higher intervals
57 }
58
61 RegisterState(new FatigueSoundEvent());
69 RegisterState(new DamageHeavySoundEvent());
75 RegisterState(new MeleeAttackHeavyEvent());
81 RegisterState(new HotSoundEvent());
84 RegisterState(new StaminaLowFilterLower());
86 RegisterState(new DrowningEvent2());
89
90
91 }
class DamageSoundEvents extends PlayerSoundEventBase DamageLightSoundEvent()
Definition DamageEvents.c:23
class DrowningSoundEventBase extends PlayerSoundEventBase DrowningEvent1()
Definition DrowningEvents.c:22
class HeatComfortEventsBase extends PlayerSoundEventBase FreezingSoundEvent()
Definition HeatComfortEvents.c:18
class ExhaustedBreathSoundEvent extends HoldBreathSoundEventBase ReleaseBreathSoundEvent()
Definition HoldBreathEvents.c:52
class HoldBreathSoundEventBase extends PlayerSoundEventBase HoldBreathSoundEvent()
Definition HoldBreathEvents.c:18
void ExhaustedBreathSoundEvent()
Definition HoldBreathEvents.c:53
void InjuryMediumSoundEvent()
Definition InjuryEvents.c:44
class InjuryMediumSoundEvent extends InjurySoundEvents InjuryHeavySoundEvent()
Definition InjuryEvents.c:43
class InjurySoundEvents extends PlayerSoundEventBase InjuryLightSoundEvent()
Definition InjuryEvents.c:23
class JumpEventsBase extends PlayerSoundEventBase JumpSoundEvent()
Definition JumpEvents.c:35
class MeleeAttackSoundEvents extends PlayerSoundEventBase MeleeAttackLightEvent()
Definition MeleeAttack.c:33
class PickupHeavySoundEvent extends PlayerSoundEventBase ThirstSoundEvent()
Definition MiscEvents.c:14
void PickupHeavySoundEvent()
Definition MiscEvents.c:15
void RegisterState(PlayerSoundEventBase state)
Definition PlayerSoundEventHandler.c:93
enum EPlayerSoundEventID m_Player
ref Timer m_UpdateTimer
Definition PlayerSoundEventHandler.c:46
void StaminaNormalDummy()
Definition StaminaEvents.c:115
class StaminaDownHeavy extends StaminaSoundEventBase StaminaUpHeavy()
Definition StaminaEvents.c:68
class StaminaUpLight extends StaminaSoundEventBase StaminaUpEnd()
Definition StaminaEvents.c:86
void StaminaUpLight()
Definition StaminaEvents.c:87
void StaminaLowFilterUpper()
Definition StaminaEvents.c:132
class StaminaSoundEventBase extends PlayerSoundEventBase StaminaDownLight()
Definition StaminaEvents.c:50
class StaminaLowFilterUpper extends StaminaLowFilterBase StaminaLowFilterMid()
Definition StaminaEvents.c:131
void StaminaDownHeavy()
Definition StaminaEvents.c:69
class SymptomSoundEventBase extends PlayerSoundEventBase CoughSoundEvent()
Definition SymptomEvents.c:17
class LaugherSoundEvent extends SymptomSoundEventBase SneezeSoundEvent()
Definition SymptomEvents.c:35
void LaugherSoundEvent()
Definition SymptomEvents.c:36
Definition DayZPlayerImplement.c:63

Перекрестные ссылки CoughSoundEvent(), DamageLightSoundEvent(), DrowningEvent1(), ExhaustedBreathSoundEvent(), FreezingSoundEvent(), HoldBreathSoundEvent(), InjuryHeavySoundEvent(), InjuryLightSoundEvent(), InjuryMediumSoundEvent(), JumpSoundEvent(), LaugherSoundEvent(), m_Player, m_UpdateTimer, MeleeAttackLightEvent(), PickupHeavySoundEvent(), RegisterState(), ReleaseBreathSoundEvent(), SneezeSoundEvent(), StaminaDownHeavy(), StaminaDownLight(), StaminaLowFilterMid(), StaminaLowFilterUpper(), StaminaNormalDummy(), StaminaUpEnd(), StaminaUpHeavy(), StaminaUpLight() и ThirstSoundEvent().

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

◆ PlayRequest()

override bool PlayRequest ( EPlayerSoundEventID id,
bool sent_from_server = false )
192 {
194 }
override bool PlayRequestEx(EPlayerSoundEventID id, bool sent_from_server=false, int param=0)
Definition PlayerSoundEventHandler.c:140

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

◆ PlayRequestEx()

override bool PlayRequestEx ( EPlayerSoundEventID id,
bool sent_from_server = false,
int param = 0 )
141 {
143 {
144 Error("EPlayerSoundEventID out of bounds");
145 }
146
148 if ( sent_from_server && (param & EPlayerSoundEventParam.SKIP_CONTROLLED_PLAYER) && m_Player.GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_CLIENT )
149 {
150 return false;
151 }
152
153 if ( !requested_state.CanPlay(m_Player) )
154 {
155 return false;
156 }
157
158 if (m_CurrentState)
159 {
160 if (param & EPlayerSoundEventParam.HIGHEST_PRIORITY)
161 {
162 m_CurrentState.Stop();
163 }
164 else
165 {
166 int current_type = m_CurrentState.GetSoundEventType();
167 //int requested_type = requested_state.GetSoundEventType();
168
169 if ( (requested_state.GetPriorityOverTypes() & current_type) == 0 )
170 {
171 return false;
172 }
173 if (!requested_state.HasPriorityOverCurrent(m_Player, id, current_type) )
174 {
175 return false;
176 }
177
178 m_CurrentState.Stop();
179 }
180 }
181 m_CurrentState = PlayerSoundEventBase.Cast(requested_state.ClassName().ToType().Spawn());
183 if (m_CurrentState.Play())
184 {
185 m_CurrentState.OnPlay(m_Player);
186 }
187 return true;
188 }
const int SOUND_EVENTS_MAX
Definition PlayerSoundEventHandler.c:42
Definition DamageEvents.c:2
DayZPlayerInstanceType
defined in C++
Definition dayzplayer.c:1059
void Error(string err)
Messagebox with error message.
Definition EnDebug.c:90

Перекрестные ссылки Error(), m_AvailableStates, m_CurrentState, m_Player и SOUND_EVENTS_MAX.

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

◆ RegisterState()

void RegisterState ( PlayerSoundEventBase state)
94 {
95 int index = state.GetSoundEventID();
97 m_ConfigIDToScriptIDmapping.Insert(state.GetSoundVoiceAnimEventClassID(),index);
98 }

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

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

Переменные

◆ m_AvailableStates

ref PlayerSoundEventBase m_AvailableStates[SOUND_EVENTS_MAX]
static

◆ m_ConfigIDToScriptIDmapping

ref map<int,int> m_ConfigIDToScriptIDmapping = new ref map<int,int>
static

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

◆ m_CurrentState

ref PlayerSoundEventBase m_CurrentState

◆ m_Player

◆ m_UpdateTimer

ref Timer m_UpdateTimer

◆ SOUND_EVENTS_MAX