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 // NOLINTEND
70
71public:
72 // member functions
73 // NOLINTBEGIN
74 MCAPI void _parseColorBlock(::ConstDeserializeDataParams const& deserializeDataParams, float value);
75
76 MCAPI void _parseGradientBlock(::ConstDeserializeDataParams const& deserializeDataParams);
77 // NOLINTEND
78
79public:
80 // virtual function thunks
81 // NOLINTBEGIN
82 MCAPI void $initializeFromData(::SharedTypes::v1_20_80::ParticleEffectComponent& data);
83
84 MCAPI void $upgradeToSharedTypes(::SharedTypes::v1_20_80::ParticleEffectComponent& data);
85
86 MCAPI void $parseJson(::ConstDeserializeDataParams const& deserializeDataParams);
87
88 MCAPI void $updateParticleAppearance(
89 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
90 ::ParticleSystem::CommonParticle& particle,
91 ::RenderParams& renderParams
92 );
93 // NOLINTEND
94};
95
96} // namespace ParticleSystem
Definition ComponentAccessParticleEmitter.h:7
Definition ParticleAppearanceTintingComponent.h:7
Definition RenderParams.h:29
Definition ConstDeserializeDataParams.h:13
Definition ColorFrame.h:7
Definition CommonParticle.h:7
Definition ParticleAppearanceTintingComponent.h:15
Definition ParticleEffectComponent.h:12