LeviLamina
Loading...
Searching...
No Matches
ParticleAppearanceTintingComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/particlesystem/particle/components/ParticleAppearanceComponentBase.h"
7#include "mc/deps/core/string/HashedString.h"
8#include "mc/util/molang/ExpressionNode.h"
9
10// auto generated forward declare list
11// clang-format off
12class RenderParams;
14namespace ParticleSystem { class ComponentAccessParticleEmitter; }
15namespace ParticleSystem { struct ColorFrame; }
16namespace ParticleSystem { struct CommonParticle; }
17namespace SharedTypes::v1_20_80 { struct ParticleEffectComponent; }
18// clang-format on
19
20namespace ParticleSystem {
21
22class ParticleAppearanceTintingComponent : public ::ParticleSystem::ParticleAppearanceComponentBase {
23public:
24 // ParticleAppearanceTintingComponent inner types declare
25 // clang-format off
26 struct ParticleColors;
27 // clang-format on
28
29 // ParticleAppearanceTintingComponent inner types define
30 struct ParticleColors {
31 public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 48, ::HashedString const> mName;
35 ::ll::TypedStorage<8, 32, ::std::string const> mAppearanceTintColors;
36 ::ll::TypedStorage<8, 64, ::std::array<::ExpressionNode, 4>> mOriginalColor;
37 ::ll::TypedStorage<1, 1, bool const> mAlpha;
38 ::ll::TypedStorage<4, 16, float[4]> mCol;
39 ::ll::TypedStorage<4, 16, float[4]> mParticleColorFloat;
40 // NOLINTEND
41 };
42
43public:
44 // member variables
45 // NOLINTBEGIN
46 ::ll::TypedStorage<8, 24, ::std::vector<::ParticleSystem::ParticleAppearanceTintingComponent::ParticleColors>>
47 mParticleColors;
48 ::ll::TypedStorage<1, 1, bool const> mAlpha;
49 ::ll::TypedStorage<4, 16, float[4]> mCol;
50 ::ll::TypedStorage<4, 16, float[4]> mParticleColorFloat;
51 ::ll::TypedStorage<8, 24, ::std::vector<::ParticleSystem::ColorFrame>> mColorFrames;
52 ::ll::TypedStorage<8, 16, ::ExpressionNode> mInterpolantExpr;
53 // NOLINTEND
54
55public:
56 // virtual functions
57 // NOLINTBEGIN
58 virtual void initializeFromData(::SharedTypes::v1_20_80::ParticleEffectComponent& data) /*override*/;
59
60 virtual void upgradeToSharedTypes(::SharedTypes::v1_20_80::ParticleEffectComponent& data) /*override*/;
61
62 virtual void parseJson(::ConstDeserializeDataParams const& deserializeDataParams) /*override*/;
63
64 virtual void updateParticleAppearance(
65 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
66 ::ParticleSystem::CommonParticle& particle,
67 ::RenderParams& renderParams
68 ) /*override*/;
69
70 virtual ~ParticleAppearanceTintingComponent() /*override*/ = default;
71 // NOLINTEND
72
73public:
74 // member functions
75 // NOLINTBEGIN
76 MCAPI void _initColorNode(::std::array<::ExpressionNode, 4>& node);
77
78 MCAPI void _parseColorBlock(::ConstDeserializeDataParams const& deserializeDataParams, float value);
79
80 MCAPI void _parseGradientBlock(::ConstDeserializeDataParams const& deserializeDataParams);
81 // NOLINTEND
82
83public:
84 // virtual function thunks
85 // NOLINTBEGIN
86 MCAPI void $initializeFromData(::SharedTypes::v1_20_80::ParticleEffectComponent& data);
87
88 MCAPI void $upgradeToSharedTypes(::SharedTypes::v1_20_80::ParticleEffectComponent& data);
89
90 MCAPI void $parseJson(::ConstDeserializeDataParams const& deserializeDataParams);
91
92 MCAPI void $updateParticleAppearance(
93 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
94 ::ParticleSystem::CommonParticle& particle,
95 ::RenderParams& renderParams
96 );
97 // NOLINTEND
98
99public:
100 // vftables
101 // NOLINTBEGIN
102 MCNAPI static void** $vftable();
103 // NOLINTEND
104};
105
106} // namespace ParticleSystem
Definition ComponentAccessParticleEmitter.h:7
Definition ParticleAppearanceTintingComponent.h:7
Definition RenderParams.h:30
Definition ConstDeserializeDataParams.h:13
Definition ColorFrame.h:7
Definition CommonParticle.h:7
Definition ParticleAppearanceTintingComponent.h:15
Definition ParticleEffectComponent.h:12