Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
RenderMaterialGroup.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/application/AppPlatformListener.h"
7#include "mc/deps/core/renderer/RenderMaterialGroupBase.h"
8#include "mc/deps/core/resource/ResourceLocation.h"
9#include "mc/deps/core/string/HashedString.h"
10#include "mc/deps/core/utility/NonOwnerPointer.h"
11#include "mc/deps/renderer/SamplerGroupCache.h"
12
13// auto generated forward declare list
14// clang-format off
17struct PackIdVersion;
18namespace mce { class RenderMaterialInfo; }
19namespace mce { class ShaderGroup; }
20// clang-format on
21
22namespace mce {
23
24class RenderMaterialGroup : public ::AppPlatformListener, public ::mce::RenderMaterialGroupBase {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::std::shared_ptr<::mce::RenderMaterialInfo>>>
29 mMaterials;
30 ::ll::TypedStorage<8, 16, ::std::map<::std::string, ::std::vector<::PackIdVersion>>> mLoadedMaterialFiles;
31 ::ll::TypedStorage<8, 56, ::ResourceLocation> mBoundList;
32 ::ll::TypedStorage<8, 80, ::std::mutex> mAsyncLoadLock;
33 ::ll::TypedStorage<1, 1, ::std::atomic<bool>> mRestartAsyncLoad;
34 ::ll::TypedStorage<8, 64, ::mce::SamplerGroupCache> mSamplerGroupCache;
35 ::ll::TypedStorage<8, 8, ::ResourcePackManager*> mResourcePackManager;
36 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::ResourceLoadManager>> mResourceLoadManager;
37 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::mce::ShaderGroup>> mShaderGroup;
38 // NOLINTEND
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 virtual void onAppResumed() /*override*/;
44
45 virtual ::std::shared_ptr<::mce::RenderMaterialInfo> getMaterialInfo(::HashedString const& name) /*override*/;
46
47 virtual void clearMaterial(::HashedString const& name) /*override*/;
48 // NOLINTEND
49
50public:
51 // member functions
52 // NOLINTBEGIN
54
55 MCNAPI bool
57
58 MCAPI bool loadList(
60 ::ResourceLocation const& listPath,
61 ::ResourcePackManager& resourcePacks,
62 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
63 bool cleanReload
64 );
65
66 MCAPI void reset();
67 // NOLINTEND
68
69public:
70 // static variables
71 // NOLINTBEGIN
72 MCAPI static ::mce::RenderMaterialGroup& common();
73
74 MCAPI static ::mce::RenderMaterialGroup& switchable();
75 // NOLINTEND
76
77public:
78 // constructor thunks
79 // NOLINTBEGIN
80 MCNAPI void* $ctor();
81 // NOLINTEND
82
83public:
84 // virtual function thunks
85 // NOLINTBEGIN
86 MCNAPI void $onAppResumed();
87
88 MCAPI ::std::shared_ptr<::mce::RenderMaterialInfo> $getMaterialInfo(::HashedString const& name);
89
90 MCNAPI void $clearMaterial(::HashedString const& name);
91 // NOLINTEND
92};
93
94} // namespace mce
Definition NonOwnerPointer.h:9
Definition HashedString.h:5
Definition ResourceLoadManager.h:22
Definition ResourceLocation.h:15
Definition ResourcePackManager.h:29
Definition RenderMaterialGroup.h:7
MCAPI void $onAppResumed()
MCAPI bool _loadList(::Bedrock::NonOwnerPointer<::mce::ShaderGroup > shaderGroup, ::ResourcePackManager &resourcePackManager)
MCAPI void $clearMaterial(::HashedString const &name)
Definition RenderMaterialInfo.h:7
Definition ShaderGroup.h:7
Definition PackIdVersion.h:10