DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
PlayerSoundEventHandler.c
См. документацию.
1// defined in animEventsSoundVoice.hpp
43
44class PlayerSoundEventHandler extends SoundEventHandler
45{
47 const int SOUND_EVENTS_MAX = EPlayerSoundEventID.ENUM_COUNT;
52
53
55 {
56 m_Player = player;
57
58 if(!m_UpdateTimer && !m_Player.IsControlledPlayer())
59 {
60 m_UpdateTimer = new Timer();
61 m_UpdateTimer.Run(1, this, "OnTick", null, true);//ticking for remotes, the controlled player is ticking on command handler at higher intervals
62 }
63
74 RegisterState(new DamageHeavySoundEvent());
81 RegisterState(new MeleeAttackHeavyEvent());
91 RegisterState(new StaminaLowFilterLower());
93 RegisterState(new DrowningEvent2());
97 RegisterState(new ForceDrinkSoundEvent());
98
99 }
100
102 {
103 int index = state.GetSoundEventID();
104 m_AvailableStates[index] = state;
105 m_ConfigIDToScriptIDmapping.Insert(state.GetSoundVoiceAnimEventClassID(),index);
106 }
107
108
109 void OnTick(float delta_time)
110 {
111 if (m_CurrentState)
112 {
113 if( m_CurrentState.IsFinished())
114 m_CurrentState = null;
115 else
116 m_CurrentState.OnTick(delta_time);
117 }
118 }
119
120 int ConvertAnimIDtoEventID(int anim_id)
121 {
122 return m_ConfigIDToScriptIDmapping.Get(anim_id);
123 }
124
126 {
127 return m_AvailableStates[id].GetSoundEventType();
128 }
129
131 {
133 {
134 return m_CurrentState.GetSoundEventID();
135 }
136 return -1;
137 }
138
140 {
142 {
143 return m_CurrentState.GetSoundEventType();
144 }
145 return -1;
146 }
147
148 override bool PlayRequestEx(EPlayerSoundEventID id, bool sent_from_server = false, int param = 0)
149 {
150 if (id < 0 || id > (SOUND_EVENTS_MAX - 1))
151 {
152 Error("EPlayerSoundEventID out of bounds");
153 }
154
155 PlayerSoundEventBase requested_state = m_AvailableStates[id];
156 if ( sent_from_server && (param & EPlayerSoundEventParam.SKIP_CONTROLLED_PLAYER) && m_Player.GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_CLIENT )
157 {
158 return false;
159 }
160
161 if ( !requested_state.CanPlay(m_Player) )
162 {
163 return false;
164 }
165
166 if (m_CurrentState)
167 {
168 if (param & EPlayerSoundEventParam.HIGHEST_PRIORITY)
169 {
170 m_CurrentState.Stop();
171 }
172 else
173 {
174 int current_type = m_CurrentState.GetSoundEventType();
175 //int requested_type = requested_state.GetSoundEventType();
176
177 if ( (requested_state.GetPriorityOverTypes() & current_type) == 0 )
178 {
179 return false;
180 }
181 if (!requested_state.HasPriorityOverCurrent(m_Player, id, current_type) )
182 {
183 return false;
184 }
185
186 m_CurrentState.Stop();
187 }
188 }
189 m_CurrentState = PlayerSoundEventBase.Cast(requested_state.ClassName().ToType().Spawn());
190 m_CurrentState.InitEx(m_Player, param);
191 if (m_CurrentState.Play())
192 {
193 m_CurrentState.OnPlay(m_Player);
194 }
195 return true;
196 }
197
198
199 override bool PlayRequest(EPlayerSoundEventID id, bool sent_from_server = false)
200 {
201 return PlayRequestEx(id, sent_from_server);
202 }
203
204}
JUMP
Определения AIWorld.c:21
map
Определения ControlsXboxNew.c:4
class DamageSoundEvents extends PlayerSoundEventBase DamageLightSoundEvent()
Определения DamageEvents.c:23
class DrowningSoundEventBase extends PlayerSoundEventBase DrowningEvent1()
Определения DrowningEvents.c:22
@ HOLD_BREATH
Определения EStaminaConsumers.c:3
DayZPlayer m_Player
Определения Hand_Events.c:42
class RattlingTeethSoundEvent extends HeatComfortEventsBase HotSoundEvent()
Определения HeatComfortEvents.c:36
void RattlingTeethSoundEvent()
Определения HeatComfortEvents.c:37
class HeatComfortEventsBase extends PlayerSoundEventBase FreezingSoundEvent()
Определения HeatComfortEvents.c:18
class ExhaustedBreathSoundEvent extends HoldBreathSoundEventBase ReleaseBreathSoundEvent()
Определения HoldBreathEvents.c:52
void ExhaustedBreathSoundEvent()
Определения HoldBreathEvents.c:53
class HoldBreathSoundEventBase extends PlayerSoundEventBase HoldBreathSoundEvent()
Определения HoldBreathEvents.c:18
@ ENUM_COUNT
Определения InfectedSoundEventHandler.c:11
ref InfectedSoundEventBase m_CurrentState
Определения InfectedSoundEventHandler.c:18
static ref InfectedSoundEventBase m_AvailableStates[SOUND_EVENTS_MAX]
Определения InfectedSoundEventHandler.c:17
override int GetCurrentStateEventID()
Определения InfectedSoundEventHandler.c:38
enum EInfectedSoundEventID SOUND_EVENTS_MAX
override int GetCurrentStateEventType()
Определения InfectedSoundEventHandler.c:47
class InjuryMediumSoundEvent extends InjurySoundEvents InjuryHeavySoundEvent()
Определения InjuryEvents.c:43
class InjurySoundEvents extends PlayerSoundEventBase InjuryLightSoundEvent()
Определения InjuryEvents.c:23
void InjuryMediumSoundEvent()
Определения InjuryEvents.c:44
class JumpEventsBase extends PlayerSoundEventBase JumpSoundEvent()
Определения JumpEvents.c:35
class MeleeAttackSoundEvents extends PlayerSoundEventBase MeleeAttackLightEvent()
Определения MeleeAttack.c:33
class ForceConsumeSoundEvent extends PlayerSoundEventBase ForceFeedSoundEvent()
Определения MiscEvents.c:34
class PickupHeavySoundEvent extends PlayerSoundEventBase ThirstSoundEvent()
Определения MiscEvents.c:14
void PickupHeavySoundEvent()
Определения MiscEvents.c:15
void OnTick(PlayerBase player, float deltaT)
Определения HeavyMetal.c:219
EPlayerSoundEventType
Определения PlayerSoundEventBase.c:2
override bool PlayRequestEx(EPlayerSoundEventID id, bool sent_from_server=false, int param=0)
Определения PlayerSoundEventHandler.c:148
void RegisterState(PlayerSoundEventBase state)
Определения PlayerSoundEventHandler.c:101
static ref map< int, int > m_ConfigIDToScriptIDmapping
Определения PlayerSoundEventHandler.c:49
void PlayerSoundEventHandler(PlayerBase player)
Определения PlayerSoundEventHandler.c:54
EPlayerSoundEventID
Определения PlayerSoundEventHandler.c:3
@ TAKING_DMG_LIGHT
Определения PlayerSoundEventHandler.c:13
@ SYMPTOM_FATIGUE
Определения PlayerSoundEventHandler.c:28
@ FORCE_DRINK
Определения PlayerSoundEventHandler.c:37
@ RELEASE_BREATH
Определения PlayerSoundEventHandler.c:6
@ DROWNING_PAIN
Определения PlayerSoundEventHandler.c:33
@ THIRST
Определения PlayerSoundEventHandler.c:35
@ HOT
Определения PlayerSoundEventHandler.c:27
@ FORCE_FEED
Определения PlayerSoundEventHandler.c:36
@ STAMINA_UP_END
Определения PlayerSoundEventHandler.c:11
@ INJURED_MEDIUM
Определения PlayerSoundEventHandler.c:23
@ RATTLING_TEETH
Определения PlayerSoundEventHandler.c:26
@ FREEZING
Определения PlayerSoundEventHandler.c:25
@ EXHAUSTED_BREATH
Определения PlayerSoundEventHandler.c:5
@ STAMINA_UP_LIGHT
Определения PlayerSoundEventHandler.c:9
@ INJURED_HIGH
Определения PlayerSoundEventHandler.c:24
@ MELEE_ATTACK_LIGHT
Определения PlayerSoundEventHandler.c:20
@ STAMINA_LOW_FILTER_LOWER
Определения PlayerSoundEventHandler.c:31
@ STAMINA_NORMAL_DUMMY
Определения PlayerSoundEventHandler.c:12
@ STAMINA_LOW_FILTER_UPPER
Определения PlayerSoundEventHandler.c:29
@ PICKUP_HEAVY
Определения PlayerSoundEventHandler.c:34
@ INJURED_LIGHT
Определения PlayerSoundEventHandler.c:22
@ DROWNING_BREATH
Определения PlayerSoundEventHandler.c:32
@ STAMINA_DOWN_LIGHT
Определения PlayerSoundEventHandler.c:7
@ STAMINA_DOWN_HEAVY
Определения PlayerSoundEventHandler.c:8
@ STAMINA_LOW_FILTER_MID
Определения PlayerSoundEventHandler.c:30
@ STAMINA_UP_HEAVY
Определения PlayerSoundEventHandler.c:10
@ TAKING_DMG_HEAVY
Определения PlayerSoundEventHandler.c:14
int ConvertAnimIDtoEventID(int anim_id)
Определения PlayerSoundEventHandler.c:120
ref Timer m_UpdateTimer
Определения RadialMenu.c:20
EAnimPlayState PlayRequest()
Определения SmptAnimMeta.c:65
int GetSoundEventType()
Определения SoundEvents.c:155
class StaminaDownHeavy extends StaminaSoundEventBase StaminaUpHeavy()
Определения StaminaEvents.c:68
class StaminaUpLight extends StaminaSoundEventBase StaminaUpEnd()
Определения StaminaEvents.c:86
void StaminaDownHeavy()
Определения StaminaEvents.c:69
class StaminaSoundEventBase extends PlayerSoundEventBase StaminaDownLight()
Определения StaminaEvents.c:50
void StaminaNormalDummy()
Определения StaminaEvents.c:115
void StaminaUpLight()
Определения StaminaEvents.c:87
void StaminaLowFilterUpper()
Определения StaminaEvents.c:132
class StaminaLowFilterUpper extends StaminaLowFilterBase StaminaLowFilterMid()
Определения StaminaEvents.c:131
enum AnimType SYMPTOM_GASP
enum AnimType SYMPTOM_LAUGHTER
enum AnimType SYMPTOM_COUGH
enum AnimType SYMPTOM_SNEEZE
class SymptomSoundEventBase extends PlayerSoundEventBase CoughSoundEvent()
Определения SymptomEvents.c:17
void GaspSoundEvent()
Определения SymptomEvents.c:54
void LaugherSoundEvent()
Определения SymptomEvents.c:36
class GaspSoundEvent extends SymptomSoundEventBase FatigueSoundEvent()
Определения SymptomEvents.c:53
class LaugherSoundEvent extends SymptomSoundEventBase SneezeSoundEvent()
Определения SymptomEvents.c:35
Определения PlayerBaseClient.c:2
override bool HasPriorityOverCurrent(PlayerBase player, EPlayerSoundEventID other_state_id, EPlayerSoundEventType type_other)
Определения DamageEvents.c:15
override bool CanPlay(PlayerBase player)
Определения DamageEvents.c:10
Определения DayZPlayerImplement.c:63
DayZPlayerInstanceType
defined in C++
Определения dayzplayer.c:1068
void Error(string err)
Messagebox with error message.
Определения EnDebug.c:90