LeviLamina
Loading...
Searching...
No Matches
WorldTemplateManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/file/PathBuffer.h"
7#include "mc/resources/interface/IWorldTemplateManager.h"
8
9// auto generated forward declare list
10// clang-format off
12class Pack;
14struct PackIdVersion;
17namespace Bedrock::PubSub { class Subscription; }
18namespace mce { class UUID; }
19// clang-format on
20
21class WorldTemplateManager : public ::IWorldTemplateManager {
22public:
23 // member variables
24 // NOLINTBEGIN
34 // NOLINTEND
35
36public:
37 // prevent constructor by default
38 WorldTemplateManager& operator=(WorldTemplateManager const&);
39 WorldTemplateManager(WorldTemplateManager const&);
40 WorldTemplateManager();
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45#ifdef LL_PLAT_S
46 virtual ~WorldTemplateManager() /*override*/;
47#else // LL_PLAT_C
48 virtual ~WorldTemplateManager() /*override*/ = default;
49#endif
50
51 virtual void flushResourceLoaderTasks() /*override*/;
52
53 virtual void populateWorldTemplates() /*override*/;
54
55 virtual uint64 getWorldTemplateSize() const /*override*/;
56
57 virtual ::WorldTemplateInfo const& getWorldTemplateAtIndex(int index) const /*override*/;
58
59 virtual ::std::vector<::std::unique_ptr<::WorldTemplateInfo const>> const& getLocalTemplates() const /*override*/;
60
61 virtual ::WorldTemplateInfo const*
62 findInstalledWorldTemplateByUUID(::std::vector<::mce::UUID> const& packUUIDs) const /*override*/;
63
64 virtual ::WorldTemplateInfo const* findInstalledWorldTemplate(::PackIdVersion const& packIdentityToFind) const
65 /*override*/;
66
67 virtual void forEachWorldTemplate(::std::function<void(::WorldTemplateInfo const&)> const& callback) const
68 /*override*/;
69
70 virtual bool isWorldTemplateInstalled(::mce::UUID const& uuid) const /*override*/;
71
72 virtual void deleteWorldTemplateAndFiles(::PackIdVersion const& packIdentity) /*override*/;
73
74 virtual bool isInitialized() const /*override*/;
75
76 virtual ::Bedrock::PubSub::Subscription registerModifiedCallback(
77 ::std::function<void(::std::pair<::std::string, bool> const&)> newCallbackFunction
78 ) /*override*/;
79
80 virtual ::WorldTemplateCollectionView createView(::mce::UUID const& toView) const /*override*/;
81 // NOLINTEND
82
83public:
84 // member functions
85 // NOLINTBEGIN
86 MCNAPI WorldTemplateManager(::std::unique_ptr<::IWorldTemplateManagerInitializer> initializer, bool initAsync);
87
88#ifdef LL_PLAT_C
89 MCNAPI void _initialize(::WorldTemplateManagerInitData&& data);
90#endif
91
92#ifdef LL_PLAT_S
93 MCNAPI void _initialize(::WorldTemplateManagerInitData&& data);
94#endif
95
96#ifdef LL_PLAT_C
97 MCNAPI void addKnownPackFromImport(::Pack const& pack);
98
99 MCNAPI ::Core::PathBuffer<::std::string> getWorldTemplatesPath() const;
100
101 MCNAPI ::std::vector<::gsl::not_null<::std::shared_ptr<::Pack const>>>
102 loadPacksForTemplate(::WorldTemplateInfo const& info);
103
104 MCNAPI void onStorageDirectoryChanged();
105
106 MCNAPI void setWorldIconAllowListPath(::WorldTemplateInfo const& info, ::std::string path);
107
108 MCNAPI void sortWorldTemplates();
109
110 MCNAPI void update();
111#endif
112 // NOLINTEND
113
114public:
115 // constructor thunks
116 // NOLINTBEGIN
117 MCNAPI void* $ctor(::std::unique_ptr<::IWorldTemplateManagerInitializer> initializer, bool initAsync);
118 // NOLINTEND
119
120public:
121 // destructor thunk
122 // NOLINTBEGIN
123#ifdef LL_PLAT_S
124 MCNAPI void $dtor();
125#endif
126 // NOLINTEND
127
128public:
129 // virtual function thunks
130 // NOLINTBEGIN
132
134
135 MCNAPI uint64 $getWorldTemplateSize() const;
136
137 MCNAPI ::WorldTemplateInfo const& $getWorldTemplateAtIndex(int index) const;
138
139 MCNAPI ::std::vector<::std::unique_ptr<::WorldTemplateInfo const>> const& $getLocalTemplates() const;
140
141 MCNAPI ::WorldTemplateInfo const*
142 $findInstalledWorldTemplateByUUID(::std::vector<::mce::UUID> const& packUUIDs) const;
143
144 MCNAPI ::WorldTemplateInfo const* $findInstalledWorldTemplate(::PackIdVersion const& packIdentityToFind) const;
145
146 MCNAPI void $forEachWorldTemplate(::std::function<void(::WorldTemplateInfo const&)> const& callback) const;
147
148 MCNAPI bool $isWorldTemplateInstalled(::mce::UUID const& uuid) const;
149
150 MCNAPI void $deleteWorldTemplateAndFiles(::PackIdVersion const& packIdentity);
151
152 MCNAPI bool $isInitialized() const;
153
154 MCNAPI ::Bedrock::PubSub::Subscription
155 $registerModifiedCallback(::std::function<void(::std::pair<::std::string, bool> const&)> newCallbackFunction);
156
157 MCNAPI ::WorldTemplateCollectionView $createView(::mce::UUID const& toView) const;
158
159
160 // NOLINTEND
161};
Definition Subscription.h:10
Definition IWorldTemplateManagerInitializer.h:11
Definition IWorldTemplateManager.h:17
Definition Pack.h:28
Definition WorldTemplateCollectionView.h:14
MCAPI::WorldTemplateInfo const & $getWorldTemplateAtIndex(int index) const
MCAPI WorldTemplateManager(::std::unique_ptr<::IWorldTemplateManagerInitializer > initializer, bool initAsync)
MCAPI void * $ctor(::std::unique_ptr<::IWorldTemplateManagerInitializer > initializer, bool initAsync)
MCAPI void $deleteWorldTemplateAndFiles(::PackIdVersion const &packIdentity)
MCAPI void $populateWorldTemplates()
MCAPI ::std::vector<::std::unique_ptr<::WorldTemplateInfo const > > const & $getLocalTemplates() const
MCAPI bool $isInitialized() const
MCAPI::WorldTemplateInfo const * $findInstalledWorldTemplate(::PackIdVersion const &packIdentityToFind) const
MCAPI::Bedrock::PubSub::Subscription $registerModifiedCallback(::std::function< void(::std::pair<::std::string, bool > const &)> newCallbackFunction)
MCAPI::WorldTemplateCollectionView $createView(::mce::UUID const &toView) const
MCAPI void $forEachWorldTemplate(::std::function< void(::WorldTemplateInfo const &)> const &callback) const
MCAPI::WorldTemplateInfo const * $findInstalledWorldTemplateByUUID(::std::vector<::mce::UUID > const &packUUIDs) const
MCAPI void $flushResourceLoaderTasks()
MCAPI uint64 $getWorldTemplateSize() const
MCAPI bool $isWorldTemplateInstalled(::mce::UUID const &uuid) const
Definition UUID.h:7
Definition PackIdVersion.h:10
Definition WorldTemplateInfo.h:12
Definition WorldTemplateManagerInitData.h:5
Definition Alias.h:14