DayZ 1.24
Loading...
Searching...
No Matches
EffEngineSmoke Class Reference
Inheritance diagram for EffEngineSmoke:
[legend]
Collaboration diagram for EffEngineSmoke:
[legend]

Private Member Functions

void EffEngineSmoke ()
 
override void SetParticleStateLight ()
 
override void SetParticleStateHeavy ()
 
override void Event_OnFrameUpdate (float time_delta)
 

Private Attributes

float m_Time
 

Static Private Attributes

float m_UpdateInterval = 2
 

Detailed Description

Definition at line 1 of file EngineSmoke.c.

Constructor & Destructor Documentation

◆ EffEngineSmoke()

void EffEngineSmoke::EffEngineSmoke ( )
inlineprivate

Definition at line 6 of file EngineSmoke.c.

7 {
9 }
void SetEnableEventFrame(bool enable)
Enable Event_OnFrameUpdate for the effect.
Definition Effect.c:270

References SetEnableEventFrame().

Member Function Documentation

◆ Event_OnFrameUpdate()

override void EffEngineSmoke::Event_OnFrameUpdate ( float time_delta)
inlineprivate

Definition at line 21 of file EngineSmoke.c.

22 {
24
26 {
27 m_Time = 0;
28
29 Car parent = Car.Cast(GetAttachmentParent());
30
31 if (parent)
32 {
34 if (p)
35 {
36 SetParticleState(p.GetParticleID());
37
38 float speed = parent.GetSpeedometerAbsolute();
39 float lifetime_scale;
40
41 if (speed < 100)
42 lifetime_scale = (100 - speed) / 100;
43 else
44 lifetime_scale = 0.1;
45
46 float birthrate_scale = 1 + (speed * 0.02);
47
48 p.ScaleParticleParamFromOriginal(EmitorParam.LIFETIME, lifetime_scale);
49 p.ScaleParticleParamFromOriginal(EmitorParam.LIFETIME_RND, lifetime_scale);
50 p.ScaleParticleParamFromOriginal(EmitorParam.BIRTH_RATE, birthrate_scale);
51 p.ScaleParticleParamFromOriginal(EmitorParam.BIRTH_RATE_RND, birthrate_scale);
52 }
53 }
54 }
55 }
Object GetAttachmentParent()
Get the parent set by SetAttachmentParent.
Definition Effect.c:554
float m_UpdateInterval
Definition EngineSmoke.c:4
void SetParticleState(int state)
Particle GetParticle()
Gets the main particle which this Effect is managing.
Legacy way of using particles in the game.
Definition Particle.c:7
EmitorParam
Definition EnVisual.c:114

References GetAttachmentParent(), EffectParticle::GetParticle(), m_Time, m_UpdateInterval, and EffVehicleSmoke::SetParticleState().

◆ SetParticleStateHeavy()

override void EffEngineSmoke::SetParticleStateHeavy ( )
inlineprivate

◆ SetParticleStateLight()

override void EffEngineSmoke::SetParticleStateLight ( )
inlineprivate

Member Data Documentation

◆ m_Time

float EffEngineSmoke::m_Time
private

Definition at line 3 of file EngineSmoke.c.

Referenced by Event_OnFrameUpdate().

◆ m_UpdateInterval

float EffEngineSmoke::m_UpdateInterval = 2
staticprivate

Definition at line 4 of file EngineSmoke.c.

Referenced by Event_OnFrameUpdate().


The documentation for this class was generated from the following file: