Skip to content
LeviMC
English
AutoLightDark
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 MCNAPI ::ParticleSystem::EffectComponentBase::EffectComponentType $getParticleComponentType() const;
55
57 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
58 ::ParticleSystem::CommonParticle& particle,
59 ::RenderParams& renderParams
60 );
61
62 MCNAPI void $setParticleLifetime(::ParticleSystem::CommonParticle& particle, ::RenderParams& renderParams);
63
64 MCNAPI void $handleCreation(
65 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
66 ::ParticleSystem::CommonParticle& particle
67 );
68
69 MCNAPI void $handleExpiration(
70 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
71 ::ParticleSystem::CommonParticle& particle
72 );
73
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 EffectComponentBase.h:7
Definition ParticleLifetimeComponentBase.h:7
MCAPI void $handleExpiration(::ParticleSystem::ComponentAccessParticleEmitter &emitter, ::ParticleSystem::CommonParticle &particle)
MCAPI void $handleCreation(::ParticleSystem::ComponentAccessParticleEmitter &emitter, ::ParticleSystem::CommonParticle &particle)
MCAPI bool $hasParticleExpired(::ParticleSystem::ComponentAccessParticleEmitter &emitter, ::ParticleSystem::CommonParticle &particle, ::RenderParams &renderParams)
MCAPI::ParticleSystem::EffectComponentBase::EffectComponentType $getParticleComponentType() const
MCAPI void $handleTimelineEvents(::ParticleSystem::ComponentAccessParticleEmitter &emitter, ::ParticleSystem::CommonParticle &particle, ::std::chrono::nanoseconds const lastAge, ::std::chrono::nanoseconds age)
MCAPI void $setParticleLifetime(::ParticleSystem::CommonParticle &particle, ::RenderParams &renderParams)
Definition RenderParams.h:29
STL namespace.
Definition CommonParticle.h:7