3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/string/HashedString.h"
29namespace ParticleSystem {
35 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ParticleSystem::EmitterInitialComponentBase>>>
36 mEmitterInitialComponents;
37 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ParticleSystem::EmitterLifetimeComponentBase>>>
38 mEmitterLifetimeComponents;
39 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ParticleSystem::EmitterRateComponentBase>>>
40 mEmitterRateComponents;
41 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ParticleSystem::EmitterShapeComponentBase>>>
42 mEmitterShapeComponents;
43 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ParticleSystem::ParticleAppearanceComponentBase>>>
44 mParticleAppearanceComponents;
45 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ParticleSystem::ParticleInitialComponentBase>>>
46 mParticleInitialComponents;
47 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ParticleSystem::ParticleLifetimeComponentBase>>>
48 mParticleLifetimeComponents;
49 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ParticleSystem::ParticleMotionComponentBase>>>
50 mParticleMotionComponents;
51 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ParticleSystem::ParticleCurveBase>>> mParticleCurves;
55 ::std::unordered_map<::HashedString, ::std::unique_ptr<::ParticleSystem::ParticleEventNode>>>
57 ::ll::TypedStorage<8, 32, ::std::string> mName;
58 ::ll::TypedStorage<8, 32, ::std::string> mContainerName;
59 ::ll::TypedStorage<8, 48, ::HashedString> mMaterialNameHash;
60 ::ll::TypedStorage<8, 32, ::std::string> mTextureName;
71 ::SharedTypes::v1_20_80::ParticleEffectData& data,
72 ::ParticleSystem::ParticleEffectComponentRegistry
const* particleComponentRegistry
76 _addEffectCurveFromData(::HashedString
const& curveName, ::SharedTypes::v1_20_80::ParticleCurve& curveData);
78 MCAPI
void _generateEffectComponents(
79 ::SharedTypes::v1_20_80::ParticleEffectComponents& componentData,
80 ::ParticleSystem::ParticleEffectComponentRegistry
const* particleComponentRegistry
83 MCAPI
void _generateEffectCurves(
84 ::std::optional<::std::map<::std::string, ::SharedTypes::v1_20_80::ParticleCurve>>& curveData
87 MCAPI
void _generateEffectEvents(
88 ::std::optional<::std::map<::std::string, ::SharedTypes::v1_20_80::ParticleEventNode>>& eventData
91 MCAPI
void _sortEffectComponentsForExecutionOrder();
93 MCAPI
bool isManualEmitter()
const;
95 MCAPI ~ParticleEffect();
101 MCAPI static ::Random& getRandomNumberGenerator();
103 MCAPI
static void registerParticleEffectData(::cereal::ReflectionCtx& ctx);
109 MCAPI static ::std::unique_ptr<::Random>& mRandomNumberGenerator();
116 ::SharedTypes::v1_20_80::ParticleEffectData& data,
117 ::ParticleSystem::ParticleEffectComponentRegistry
const* particleComponentRegistry
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 ParticleCurve.h:18
Definition ParticleEffectComponents.h:15
Definition ParticleEffectData.h:19
Definition ParticleEventNode.h:18
Definition ReflectionCtx.h:11