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