3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/string/HashedString.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/deps/puv/LoadResult.h"
9#include "mc/deps/resource_processing/category/CategoryLoader.h"
10#include "mc/platform/threading/Mutex.h"
31 using PuvLoader = ::Bedrock::Resources::CategoryLoader<::ParticleSystem::ParticleEffectLoaderTraits>;
36 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::std::shared_ptr<::ParticleEffectInfo>>>
38 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mParticleEffectInfoLock;
39 ::ll::TypedStorage<8, 264, ::Bedrock::Resources::CategoryLoader<::ParticleSystem::ParticleEffectLoaderTraits>>
41 ::ll::TypedStorage<8, 8, ::IMinecraftEventing&> mEventing;
46 ParticleEffectGroup& operator=(ParticleEffectGroup
const&);
47 ParticleEffectGroup(ParticleEffectGroup
const&);
48 ParticleEffectGroup();
53 MCAPI ParticleEffectGroup(::cereal::ReflectionCtx& ctx, ::IMinecraftEventing& eventing);
55 MCAPI
bool _createParticleEffectInfo(
56 ::HashedString
const& name,
57 ::std::shared_ptr<::ParticleSystem::ParticleEffect> candidateParticle,
58 ::std::string
const& containerName
61 MCAPI ::Puv::LoadResult<::SharedTypes::v1_20_80::ParticleEffectData> _loadParticleEffect(
62 ::std::string
const& fileWithExtension,
63 ::std::string
const& containerName,
64 ::std::string&& fileData,
65 ::MinEngineVersion
const& minEngineVersion,
66 ::ParticleSystem::ParticleEffectComponentRegistry
const& particleComponentRegistry,
68 ::Bedrock::NonOwnerPointer<::LinkedAssetValidator> validator
71 MCAPI ::std::shared_ptr<::ParticleEffectInfo> getParticleEffectInfo(::HashedString
const& name);
73 MCAPI
void loadParticleEffects(
74 ::ResourcePackManager& resourcePackManager,
75 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
76 ::ParticleSystem::ParticleEffectComponentRegistry
const& particleComponentRegistry,
77 ::LinkedAssetValidator& validator
80 MCAPI
void unloadParticleEffects();
82 MCAPI ~ParticleEffectGroup();
88 MCAPI
void* $ctor(::cereal::ReflectionCtx& ctx, ::IMinecraftEventing& eventing);
Definition IMinecraftEventing.h:138
Definition LinkedAssetValidator.h:8
Definition MinEngineVersion.h:15
Definition ParticleEffectGroup.h:5
Definition ParticleEffectInfo.h:5
Definition ParticleEffectComponentRegistry.h:7
Definition ParticleEffect.h:7
Definition ResourceLoadManager.h:19
Definition ResourcePackManager.h:35
Definition ParticleEffectLoaderTraits.h:7
Definition ParticleEffectData.h:19
Definition ReflectionCtx.h:11