LeviLamina
Loading...
Searching...
No Matches
ParticleLifetimeComponentBase.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/particlesystem/particle/components/EffectComponentBase.h"
7
8// auto generated forward declare list
9// clang-format off
10class RenderParams;
11namespace ParticleSystem { class ComponentAccessParticleEmitter; }
12namespace ParticleSystem { struct CommonParticle; }
13// clang-format on
14
15namespace ParticleSystem {
16
17class ParticleLifetimeComponentBase : public ::ParticleSystem::EffectComponentBase {
18public:
19 // virtual functions
20 // NOLINTBEGIN
21 virtual ~ParticleLifetimeComponentBase() /*override*/ = default;
22
23 virtual ::ParticleSystem::EffectComponentBase::EffectComponentType getParticleComponentType() const /*override*/;
24
25 virtual bool hasParticleExpired(
26 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
27 ::ParticleSystem::CommonParticle& particle,
28 ::RenderParams& renderParams
29 );
30
31 virtual void setParticleLifetime(::ParticleSystem::CommonParticle& particle, ::RenderParams& renderParams);
32
33 virtual void handleCreation(
34 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
35 ::ParticleSystem::CommonParticle& particle
36 );
37
38 virtual void handleExpiration(
39 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
40 ::ParticleSystem::CommonParticle& particle
41 );
42
43 virtual void handleTimelineEvents(
44 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
45 ::ParticleSystem::CommonParticle& particle,
46 ::std::chrono::nanoseconds const lastAge,
47 ::std::chrono::nanoseconds age
48 );
49 // NOLINTEND
50
51public:
52 // virtual function thunks
53 // NOLINTBEGIN
54 MCFOLD ::ParticleSystem::EffectComponentBase::EffectComponentType $getParticleComponentType() const;
55
56 MCFOLD bool $hasParticleExpired(
57 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
58 ::ParticleSystem::CommonParticle& particle,
59 ::RenderParams& renderParams
60 );
61
62 MCFOLD void $setParticleLifetime(::ParticleSystem::CommonParticle& particle, ::RenderParams& renderParams);
63
64 MCFOLD void $handleCreation(
65 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
66 ::ParticleSystem::CommonParticle& particle
67 );
68
69 MCFOLD void $handleExpiration(
70 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
71 ::ParticleSystem::CommonParticle& particle
72 );
73
74 MCFOLD void $handleTimelineEvents(
75 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
76 ::ParticleSystem::CommonParticle& particle,
77 ::std::chrono::nanoseconds const lastAge,
78 ::std::chrono::nanoseconds age
79 );
80 // NOLINTEND
81};
82
83} // namespace ParticleSystem
Definition ComponentAccessParticleEmitter.h:7
Definition ParticleLifetimeComponentBase.h:7
Definition RenderParams.h:30
Definition CommonParticle.h:7