DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
EffWheelContact.c
См. документацию.
2{
3 const float SPEED_THRESHOLD = 3.0;
4
5 override void ParticleParamsOverride(notnull ParticleParamsOverrideData data)
6 {
7 if (data.m_FloatModifiers.Count() < 2)
8 return;
9
10 Particle particle = Particle.Cast(GetParticle());
11 if (!particle)
12 return;
13
14 float speed = data.m_FloatModifiers[0];
15 float weight = data.m_FloatModifiers[1];
16
17 particle.SetParticleParam(EmitorParam.LIFETIME, 1.0 * weight);
18 particle.SetParticleParam(EmitorParam.SPRING, 15.0);
19 particle.SetParticleParam(EmitorParam.REPEAT, false);
20 particle.SetParticleParam(EmitorParam.WIND, false);
21 particle.SetParticleParam(EmitorParam.SIZE, 1);
22 particle.SetParticleParam(EmitorParam.AIR_RESISTANCE, 1.0);
23 }
24
25 override void SelectFromSurface(SurfaceInfo surfaceInfo)
26 {
27 int particleID = surfaceInfo.GetWheelContactParticleId();
28 string soundSet = surfaceInfo.GetWheelContactSoundSetName();
29
30 if (soundSet != "")
31 {
32 if (m_EffectSound == null || m_EffectSound.GetSoundSet() != soundSet)
33 {
34 EffectSound effectSound = SEffectManager.CreateSound(soundSet, vector.Zero, 0.0, 0.0, true);
35 SetEffectSound(effectSound);
36 }
37 }
38 else
39 {
40 if (m_EffectSound)
41 {
42 m_EffectSound.Stop();
43 SetEffectSound(null);
44 }
45 }
46
47 if (m_ParticleID != particleID)
48 {
49 if (particleID != 0)
50 SetParticleState(particleID);
51 else
52 {
53 Stop();
54 m_EffectSound.Stop();
55 SetEffectSound(null);
56 }
57 }
58 }
59
60 override void SetParticleState(int state)
61 {
62 bool wasPlaying = IsPlaying();
63
64 Stop();
65 SetParticleID(state);
66
67 if (wasPlaying)
68 Start();
69 }
70}
bool IsPlaying()
Returns true when the Effect is playing, false otherwise.
Определения Effect.c:197
override void SelectFromSurface(SurfaceInfo surfaceInfo)
Определения EffWheelContact.c:25
const float SPEED_THRESHOLD
Определения EffWheelContact.c:3
override void SetParticleState(int state)
Определения EffWheelContact.c:60
override void ParticleParamsOverride(notnull ParticleParamsOverrideData data)
Определения EffWheelContact.c:5
Определения EffWheelContact.c:2
override void Stop()
Stops all elements this effect consists of.
Определения EffectParticle.c:224
Particle GetParticle()
Gets the main particle which this Effect is managing.
Определения EffectParticle.c:166
override void Start()
Plays all elements this effect consists of.
Определения EffectParticle.c:185
void SetParticleID(int id)
Sets the id of the particle to be used.
Определения EffectParticle.c:327
void EffectParticle()
ctor
Определения EffectParticle.c:36
EffectSound m_EffectSound
Name of sound set that is going to be played when particle starts playback.
Определения EffectParticle.c:18
int m_ParticleID
The ID in the ParticleList to create Particle from.
Определения EffectParticle.c:14
void SetEffectSound(EffectSound effectSound)
Set effect sound play with particle.
Определения EffectParticle.c:599
Wrapper class for managing sound through SEffectManager.
Определения EffectSound.c:5
void SetParticleParam(int parameter_id, float value)
Set the value of a parameter of all emitors in the particle.
Определения Particle.c:611
Legacy way of using particles in the game.
Определения Particle.c:7
static EffectSound CreateSound(string sound_set, vector position, float play_fade_in=0, float stop_fade_out=0, bool loop=false, bool enviroment=false)
Create an EffectSound.
Определения EffectManager.c:153
Manager class for managing Effect (EffectParticle, EffectSound)
Определения EffectManager.c:6
proto string GetWheelContactSoundSetName()
proto int GetWheelContactParticleId()
Определения SurfaceInfo.c:9
static const vector Zero
Определения EnConvert.c:123
Определения EnConvert.c:119
EmitorParam
Определения EnVisual.c:114