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 Core { class Path; }
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 void deleteWorldTemplateAndFiles(::PackIdVersion const& packIdentity) /*override*/;
71
72 virtual bool isInitialized() const /*override*/;
73
74 virtual ::Bedrock::PubSub::Subscription registerModifiedCallback(
75 ::std::function<void(::std::pair<::std::string, bool> const&)> newCallbackFunction
76 ) /*override*/;
77
78 virtual ::WorldTemplateCollectionView createView(::mce::UUID const& toView) const /*override*/;
79 // NOLINTEND
80
81public:
82 // member functions
83 // NOLINTBEGIN
84 MCNAPI WorldTemplateManager(::std::unique_ptr<::IWorldTemplateManagerInitializer> initializer, bool initAsync);
85
87 ::PackIdVersion const& packIdentity,
88 ::std::function<bool(::Core::Path const&)> deleteWorldCallback
89 );
90
92
93 MCNAPI_C void addKnownPackFromImport(::Pack const& pack);
94
95 MCNAPI_C ::std::vector<::gsl::not_null<::std::shared_ptr<::Pack const>>>
96 loadPacksForTemplate(::WorldTemplateInfo const& info);
97
98 MCNAPI_C void setWorldIconAllowListPath(::WorldTemplateInfo const& info, ::std::string path);
99
100 MCNAPI void sortWorldTemplates();
101 // NOLINTEND
102
103public:
104 // constructor thunks
105 // NOLINTBEGIN
106 MCNAPI void* $ctor(::std::unique_ptr<::IWorldTemplateManagerInitializer> initializer, bool initAsync);
107 // NOLINTEND
108
109public:
110 // destructor thunk
111 // NOLINTBEGIN
112 MCNAPI void $dtor();
113 // NOLINTEND
114
115public:
116 // virtual function thunks
117 // NOLINTBEGIN
119
121
122 MCNAPI uint64 $getWorldTemplateSize() const;
123
124 MCNAPI ::WorldTemplateInfo const& $getWorldTemplateAtIndex(int index) const;
125
126 MCNAPI ::std::vector<::std::unique_ptr<::WorldTemplateInfo const>> const& $getLocalTemplates() const;
127
128 MCNAPI ::WorldTemplateInfo const*
129 $findInstalledWorldTemplateByUUID(::std::vector<::mce::UUID> const& packUUIDs) const;
130
131 MCNAPI ::WorldTemplateInfo const* $findInstalledWorldTemplate(::PackIdVersion const& packIdentityToFind) const;
132
133 MCNAPI void $forEachWorldTemplate(::std::function<void(::WorldTemplateInfo const&)> const& callback) const;
134
135 MCNAPI void $deleteWorldTemplateAndFiles(::PackIdVersion const& packIdentity);
136
137 MCNAPI bool $isInitialized() const;
138
139 MCNAPI ::Bedrock::PubSub::Subscription
140 $registerModifiedCallback(::std::function<void(::std::pair<::std::string, bool> const&)> newCallbackFunction);
141
142 MCNAPI ::WorldTemplateCollectionView $createView(::mce::UUID const& toView) const;
143
144
145 // NOLINTEND
146
147public:
148 // vftables
149 // NOLINTBEGIN
150 MCNAPI static void** $vftable();
151 // NOLINTEND
152};
Definition Subscription.h:10
Definition Path.h:10
Definition IWorldTemplateManagerInitializer.h:11
Definition IWorldTemplateManager.h:17
Definition Pack.h:27
Definition WorldTemplateCollectionView.h:13
static MCAPI void ** $vftable()
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 void _deleteWorldTemplate(::PackIdVersion const &packIdentity, ::std::function< bool(::Core::Path const &)> deleteWorldCallback)
MCAPI ::std::vector<::std::unique_ptr<::WorldTemplateInfo const > > const & $getLocalTemplates() const
MCAPI bool $isInitialized() const
MCAPI void _initialize(::WorldTemplateManagerInitData &&data)
MCAPI::WorldTemplateInfo const * $findInstalledWorldTemplate(::PackIdVersion const &packIdentityToFind) const
MCAPI void sortWorldTemplates()
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 void $dtor()
MCAPI::WorldTemplateInfo const * $findInstalledWorldTemplateByUUID(::std::vector<::mce::UUID > const &packUUIDs) const
MCAPI void $flushResourceLoaderTasks()
MCAPI uint64 $getWorldTemplateSize() const
Definition UUID.h:7
Definition PackIdVersion.h:10
Definition WorldTemplateInfo.h:12
Definition WorldTemplateManagerInitData.h:14
Definition Alias.h:14