LeviLamina
Loading...
Searching...
No Matches
ParticleEffect.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/string/HashedString.h"
7
8// auto generated forward declare list
9// clang-format off
10class Random;
11namespace ParticleSystem { class EmitterInitialComponentBase; }
12namespace ParticleSystem { class EmitterLifetimeComponentBase; }
13namespace ParticleSystem { class EmitterRateComponentBase; }
14namespace ParticleSystem { class EmitterShapeComponentBase; }
15namespace ParticleSystem { class ParticleAppearanceComponentBase; }
16namespace ParticleSystem { class ParticleCurveBase; }
17namespace ParticleSystem { class ParticleEffectComponentRegistry; }
18namespace ParticleSystem { class ParticleEventNode; }
19namespace ParticleSystem { class ParticleInitialComponentBase; }
20namespace ParticleSystem { class ParticleLifetimeComponentBase; }
21namespace ParticleSystem { class ParticleMotionComponentBase; }
22namespace SharedTypes::v1_20_80 { struct ParticleEffectComponents; }
23// clang-format on
24
25namespace ParticleSystem {
26
27class ParticleEffect {
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ParticleSystem::EmitterInitialComponentBase>>>
32 mEmitterInitialComponents;
33 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ParticleSystem::EmitterLifetimeComponentBase>>>
34 mEmitterLifetimeComponents;
35 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ParticleSystem::EmitterRateComponentBase>>>
36 mEmitterRateComponents;
37 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ParticleSystem::EmitterShapeComponentBase>>>
38 mEmitterShapeComponents;
39 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ParticleSystem::ParticleAppearanceComponentBase>>>
40 mParticleAppearanceComponents;
41 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ParticleSystem::ParticleInitialComponentBase>>>
42 mParticleInitialComponents;
43 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ParticleSystem::ParticleLifetimeComponentBase>>>
44 mParticleLifetimeComponents;
45 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ParticleSystem::ParticleMotionComponentBase>>>
46 mParticleMotionComponents;
47 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ParticleSystem::ParticleCurveBase>>> mParticleCurves;
48 ::ll::TypedStorage<
49 8,
50 64,
51 ::std::unordered_map<::HashedString, ::std::unique_ptr<::ParticleSystem::ParticleEventNode>>>
52 mParticleEvents;
53 ::ll::TypedStorage<8, 32, ::std::string> mName;
54 ::ll::TypedStorage<8, 32, ::std::string> mContainerName;
55 ::ll::TypedStorage<8, 48, ::HashedString> mMaterialNameHash;
56 ::ll::TypedStorage<8, 32, ::std::string> mTextureName;
57 // NOLINTEND
58
59public:
60 // member functions
61 // NOLINTBEGIN
62 MCAPI void _generateEffectComponents(
63 ::SharedTypes::v1_20_80::ParticleEffectComponents& componentData,
64 ::ParticleSystem::ParticleEffectComponentRegistry const* particleComponentRegistry
65 );
66
67 MCAPI bool isManualEmitter() const;
68 // NOLINTEND
69
70public:
71 // static variables
72 // NOLINTBEGIN
73 MCAPI static ::std::unique_ptr<::Random>& mRandomNumberGenerator();
74 // NOLINTEND
75};
76
77} // namespace ParticleSystem
Definition EmitterInitialComponentBase.h:7
Definition EmitterLifetimeComponentBase.h:7
Definition EmitterRateComponentBase.h:7
Definition EmitterShapeComponentBase.h:7
Definition ParticleAppearanceComponentBase.h:7
Definition ParticleCurveBase.h:7
Definition ParticleEffectComponentRegistry.h:7
Definition ParticleEffect.h:7
Definition ParticleEventNode.h:7
Definition ParticleInitialComponentBase.h:7
Definition ParticleLifetimeComponentBase.h:7
Definition ParticleMotionComponentBase.h:7
Definition Random.h:10
Definition ParticleEffectComponents.h:15