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

◆ PlayParticle()

void DustKickupEffects::PlayParticle ( DustKickupParams params)
inlineprivate

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

209 {
210 float now = g_Game.GetTickTime();
211
212 if (now < m_TimeUntilNextEffect)
213 return;
214
215 float distanceMeters = params.hitFraction * params.traceDepth;
216
217 if (distanceMeters >= MAX_DISTANCE_FOR_EFFECT)
218 return;
219
220 array<string> particleNames = DetermineParticles(params.ammoType, params.hitFraction, params.traceDepth);
221 if (!particleNames)
222 return;
223
225 if (!surfaceVariants)
226 return;
227
228 bool effectPlayed = false;
229
230 foreach (string name : particleNames)
231 {
232 DustKickupParticleData data = surfaceVariants.Get(name);
233
234 if (!data)
235 {
236 string errorMsg = "No such particles exists. Check to see if the name of the particle inside the ammo config is correct";
237 ErrorEx(string.Format("Particle: '%1'", name, errorMsg));
238 continue;
239 }
240
241 ParticleSource particle = ParticleManager.GetInstance().CreateParticleEx(data.m_ID, params.position);
242 particle.SetOrientation(params.orientation);
244 particle.PlayParticle();
245
246 effectPlayed = true;
247 }
248
249 if (effectPlayed)
250 {
252 }
253
254 PlaySoundEffect(params);
255 }
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
map
Определения ControlsXboxNew.c:4
DayZGame g_Game
Определения DayZGame.c:4074
class DustKickupEffectDistanceData DustKickupParticleData
void ParticleManager(ParticleManagerSettings settings)
Constructor (ctor)
Определения ParticleManager.c:88
ParticleAutoDestroyFlags
Flags to pass to ParticleSource.SetParticleAutoDestroyFlags.
Определения ParticleSource.c:3
float m_TimeUntilNextEffect
Определения DustKickupEffects.c:59
const float EFFECT_COOLDOWN_MAX
Определения DustKickupEffects.c:57
const float EFFECT_COOLDOWN_MIN
vlaues for the cooldown are in seconds
Определения DustKickupEffects.c:56
array< string > DetermineParticles(string ammoType, float fraction, float depth)
Determines what particles should play based on the ammo type and distance of the weapon from the grou...
Определения DustKickupEffects.c:176
const float MAX_DISTANCE_FOR_EFFECT
Определения DustKickupEffects.c:53
ref map< string, ref map< string, ref DustKickupParticleData > > m_DustEffPaths
Определения DustKickupEffects.c:47
void PlaySoundEffect(DustKickupParams params)
Определения DustKickupEffects.c:193
float hitFraction
Определения DustKickupEffects.c:9
string surfaceName
Определения DustKickupEffects.c:5
float traceDepth
Определения DustKickupEffects.c:11
vector orientation
Определения DustKickupEffects.c:7
string ammoType
Определения DustKickupEffects.c:10
vector position
Определения DustKickupEffects.c:6
override void PlayParticle(int particle_id=-1)
Method to tell the particle to start playing.
Определения Particle.c:203
proto native void SetParticleAutoDestroyFlags(ParticleAutoDestroyFlags flags)
Enables the particle to automatically clean up itself when ending or stopping.
enum ShapeType ErrorEx

Перекрестные ссылки DustKickupParams::ammoType, DetermineParticles(), DustKickupParticleData, EFFECT_COOLDOWN_MAX, EFFECT_COOLDOWN_MIN, ErrorEx, g_Game, DustKickupParams::hitFraction, m_DustEffPaths, m_TimeUntilNextEffect, MAX_DISTANCE_FOR_EFFECT, name, DustKickupParams::orientation, ParticleManager(), Particle::PlayParticle(), PlaySoundEffect(), DustKickupParams::position, Math::RandomFloat(), ParticleSource::SetParticleAutoDestroyFlags(), DustKickupParams::surfaceName и DustKickupParams::traceDepth.