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