LeviLamina
Loading...
Searching...
No Matches
ParticleLifetimeExpressionComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/particlesystem/particle/components/ParticleLifetimeComponentBase.h"
7#include "mc/util/molang/ExpressionNode.h"
8
9// auto generated forward declare list
10// clang-format off
11class RenderParams;
13namespace ParticleSystem { class ComponentAccessParticleEmitter; }
14namespace ParticleSystem { struct CommonParticle; }
15namespace SharedTypes::v1_20_80 { struct ParticleEffectComponent; }
16// clang-format on
17
18namespace ParticleSystem {
19
20class ParticleLifetimeExpressionComponent : public ::ParticleSystem::ParticleLifetimeComponentBase {
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<1, 1, bool> mLifetimeExprSet;
25 ::ll::TypedStorage<8, 16, ::ExpressionNode> mLifetimeExpr;
26 ::ll::TypedStorage<8, 16, ::ExpressionNode> mExpirationExpr;
27 // NOLINTEND
28
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual void initializeFromData(::SharedTypes::v1_20_80::ParticleEffectComponent& data) /*override*/;
33
34 virtual void upgradeToSharedTypes(::SharedTypes::v1_20_80::ParticleEffectComponent& data) /*override*/;
35
36 virtual void parseJson(::ConstDeserializeDataParams const& deserializeDataParams) /*override*/;
37
38 virtual bool hasParticleExpired(
39 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
40 ::ParticleSystem::CommonParticle& particle,
41 ::RenderParams& renderParams
42 ) /*override*/;
43
44 virtual void
45 setParticleLifetime(::ParticleSystem::CommonParticle& particle, ::RenderParams& renderParams) /*override*/;
46
47 virtual ~ParticleLifetimeExpressionComponent() /*override*/ = default;
48 // NOLINTEND
49
50public:
51 // virtual function thunks
52 // NOLINTBEGIN
53 MCAPI void $initializeFromData(::SharedTypes::v1_20_80::ParticleEffectComponent& data);
54
55 MCAPI void $upgradeToSharedTypes(::SharedTypes::v1_20_80::ParticleEffectComponent& data);
56
57 MCAPI void $parseJson(::ConstDeserializeDataParams const& deserializeDataParams);
58
59 MCAPI bool $hasParticleExpired(
60 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
61 ::ParticleSystem::CommonParticle& particle,
62 ::RenderParams& renderParams
63 );
64
65 MCAPI void $setParticleLifetime(::ParticleSystem::CommonParticle& particle, ::RenderParams& renderParams);
66 // NOLINTEND
67
68public:
69 // vftables
70 // NOLINTBEGIN
71 MCNAPI static void** $vftable();
72 // NOLINTEND
73};
74
75} // namespace ParticleSystem
Definition ComponentAccessParticleEmitter.h:7
Definition ParticleLifetimeExpressionComponent.h:7
Definition RenderParams.h:30
Definition ConstDeserializeDataParams.h:13
Definition CommonParticle.h:7
Definition ParticleEffectComponent.h:12