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