LeviLamina
Loading...
Searching...
No Matches
EditorJigsawService.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/editor/EditorJigsawServiceProvider.h"
7#include "mc/common/editor/JigsawJsonType.h"
8#include "mc/deps/core/file/PathBuffer.h"
9#include "mc/deps/core/utility/NonOwnerPointer.h"
10#include "mc/deps/scripting/runtime/Result_deprecated.h"
11#include "mc/editor/services/IEditorService.h"
12
13// auto generated forward declare list
14// clang-format off
15class BlockPos;
16class FeatureRegistry;
19class WeakEntityRef;
20namespace Bedrock::PubSub { class Subscription; }
21namespace Editor { class IEditorPlayer; }
22namespace Editor { class ServiceProviderCollection; }
23namespace Editor::ScriptModule { class ScriptClipboardItem; }
24namespace Editor::Services { struct EditorJigsawSection; }
25namespace Editor::Services { struct EditorRegistryFile; }
26// clang-format on
27
28namespace Editor::Services {
29
32public:
33 // EditorJigsawService inner types declare
34 // clang-format off
35 struct TemplatePoolData;
36 // clang-format on
37
38 // EditorJigsawService inner types define
40 public:
41 // member variables
42 // NOLINTBEGIN
46 // NOLINTEND
47
48 public:
49 // prevent constructor by default
50 TemplatePoolData& operator=(TemplatePoolData const&);
53
54 public:
55 // member functions
56 // NOLINTBEGIN
58 // NOLINTEND
59
60 public:
61 // destructor thunk
62 // NOLINTBEGIN
63 MCNAPI void $dtor();
64 // NOLINTEND
65 };
66
67public:
68 // member variables
69 // NOLINTBEGIN
78 // NOLINTEND
79
80public:
81 // prevent constructor by default
85
86public:
87 // virtual functions
88 // NOLINTBEGIN
89 // vIndex: 0
90 virtual ~EditorJigsawService() /*override*/;
91
92 // vIndex: 1
93 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
94
95 // vIndex: 3
96 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
97
98 // vIndex: 2
99 virtual ::Scripting::Result_deprecated<void> ready() /*override*/;
100
101 // vIndex: 4
102 virtual ::std::string_view getServiceName() const /*override*/;
103
104 // vIndex: 1
105 virtual ::std::string getJigsawExportDirectory() /*override*/;
106
107 // vIndex: 2
108 virtual ::std::map<::Editor::Services::JigsawJsonType, ::std::string> getEmptyJigsawFiles() /*override*/;
109
110 // vIndex: 3
111 virtual ::std::vector<::std::string> getJigsawRegistryList() /*override*/;
112
113 // vIndex: 4
114 virtual ::JigsawStructureRegistry* getJigsawRegistry(::std::string const& registryName) /*override*/;
115
116 // vIndex: 6
117 virtual ::std::map<::Editor::Services::JigsawJsonType, ::std::vector<::Editor::Services::EditorRegistryFile>>
118 getJigsawRegistryJson(::std::string const& registryName) /*override*/;
119
120 // vIndex: 5
121 virtual void setJigsawRegistry(
122 ::std::string const& registryName,
123 ::std::map<::Editor::Services::JigsawJsonType, ::std::vector<::Editor::Services::EditorRegistryFile>> data,
124 bool shouldSaveFiles
125 ) /*override*/;
126
127 // vIndex: 7
128 virtual void generateJigsawPreview(
129 ::std::string const& registryName,
130 ::std::string const& startPool,
131 ::std::string const& startTarget,
132 ::BlockPos const& seed,
133 int const depth,
134 int const maxHorizontalDistanceFromCenter,
135 bool const validateRegistry,
136 ::Editor::ScriptModule::ScriptClipboardItem const& clipboardItem,
137 ::WeakEntityRef playerRef
138 ) /*override*/;
139
140 // vIndex: 8
141 virtual ::Bedrock::PubSub::Subscription
142 listenForSetJigsawRegistry(::std::function<void(::std::vector<::std::string>)> callback) /*override*/;
143
144 // vIndex: 9
145 virtual ::Bedrock::PubSub::Subscription listenForGenerateJigsawPreview(
146 ::std::function<void(::std::vector<::Editor::Services::EditorJigsawSection>)> callback
147 ) /*override*/;
148 // NOLINTEND
149
150public:
151 // member functions
152 // NOLINTBEGIN
153 MCNAPI explicit EditorJigsawService(::Editor::ServiceProviderCollection& providers);
154
156 ::Bedrock::NotNullNonOwnerPtr<::IStructureTemplateManager> structureManager,
157 ::FeatureRegistry& featureRegistry,
158 ::JigsawStructureRegistry& jigsawStructureRegistry
159 );
160
161 MCNAPI void _saveFile(
162 ::Editor::Services::EditorRegistryFile& regFile,
163 ::Core::PathBuffer<::std::string> jigsawPath,
164 ::Editor::Services::JigsawJsonType fileType,
165 ::std::vector<::std::string>& outErrors
166 );
167
168 MCNAPI void _saveJigsawRegistryFiles(::std::string const& registryName);
169
170 MCNAPI bool
171 _validateRegistry(::std::string registryName, ::Bedrock::NonOwnerPointer<::Editor::IEditorPlayer> editorPlayer);
172 // NOLINTEND
173
174public:
175 // constructor thunks
176 // NOLINTBEGIN
177 MCNAPI void* $ctor(::Editor::ServiceProviderCollection& providers);
178 // NOLINTEND
179
180public:
181 // destructor thunk
182 // NOLINTBEGIN
183 MCNAPI void $dtor();
184 // NOLINTEND
185
186public:
187 // virtual function thunks
188 // NOLINTBEGIN
189 MCNAPI ::Scripting::Result_deprecated<void> $init();
190
191 MCNAPI ::Scripting::Result_deprecated<void> $quit();
192
193 MCNAPI ::Scripting::Result_deprecated<void> $ready();
194
195 MCNAPI ::std::string_view $getServiceName() const;
196
197 MCNAPI ::std::string $getJigsawExportDirectory();
198
199 MCNAPI ::std::map<::Editor::Services::JigsawJsonType, ::std::string> $getEmptyJigsawFiles();
200
201 MCNAPI ::std::vector<::std::string> $getJigsawRegistryList();
202
203 MCNAPI ::JigsawStructureRegistry* $getJigsawRegistry(::std::string const& registryName);
204
205 MCNAPI ::std::map<::Editor::Services::JigsawJsonType, ::std::vector<::Editor::Services::EditorRegistryFile>>
206 $getJigsawRegistryJson(::std::string const& registryName);
207
209 ::std::string const& registryName,
210 ::std::map<::Editor::Services::JigsawJsonType, ::std::vector<::Editor::Services::EditorRegistryFile>> data,
211 bool shouldSaveFiles
212 );
213
215 ::std::string const& registryName,
216 ::std::string const& startPool,
217 ::std::string const& startTarget,
218 ::BlockPos const& seed,
219 int const depth,
220 int const maxHorizontalDistanceFromCenter,
221 bool const validateRegistry,
222 ::Editor::ScriptModule::ScriptClipboardItem const& clipboardItem,
223 ::WeakEntityRef playerRef
224 );
225
226 MCNAPI ::Bedrock::PubSub::Subscription
227 $listenForSetJigsawRegistry(::std::function<void(::std::vector<::std::string>)> callback);
228
229 MCNAPI ::Bedrock::PubSub::Subscription $listenForGenerateJigsawPreview(
230 ::std::function<void(::std::vector<::Editor::Services::EditorJigsawSection>)> callback
231 );
232 // NOLINTEND
233
234public:
235 // vftables
236 // NOLINTBEGIN
238
239 MCNAPI static void** $vftableForIEditorService();
240 // NOLINTEND
241};
242
243} // namespace Editor::Services
Definition BlockPos.h:17
Definition IEditorPlayer.h:16
Definition ServiceProviderCollection.h:7
Definition EditorJigsawServiceProvider.h:21
Definition EditorJigsawService.h:31
MCAPI void _bootstrapJigsawRegistry(::Bedrock::NotNullNonOwnerPtr<::IStructureTemplateManager > structureManager, ::FeatureRegistry &featureRegistry, ::JigsawStructureRegistry &jigsawStructureRegistry)
MCAPI ::Scripting::Result_deprecated< void > $ready()
MCAPI void _saveFile(::Editor::Services::EditorRegistryFile &regFile, ::Core::PathBuffer<::std::string > jigsawPath, ::Editor::Services::JigsawJsonType fileType, ::std::vector<::std::string > &outErrors)
MCAPI::Bedrock::PubSub::Subscription $listenForSetJigsawRegistry(::std::function< void(::std::vector<::std::string >)> callback)
MCAPI::JigsawStructureRegistry * $getJigsawRegistry(::std::string const &registryName)
MCAPI::Bedrock::PubSub::Subscription $listenForGenerateJigsawPreview(::std::function< void(::std::vector<::Editor::Services::EditorJigsawSection >)> callback)
MCAPI::std::string_view $getServiceName() const
static MCAPI void ** $vftableForEditorJigsawServiceProvider()
MCAPI ::std::map<::Editor::Services::JigsawJsonType, ::std::vector<::Editor::Services::EditorRegistryFile > > $getJigsawRegistryJson(::std::string const &registryName)
MCAPI ::std::map<::Editor::Services::JigsawJsonType, ::std::string > $getEmptyJigsawFiles()
MCAPI void $generateJigsawPreview(::std::string const &registryName, ::std::string const &startPool, ::std::string const &startTarget, ::BlockPos const &seed, int const depth, int const maxHorizontalDistanceFromCenter, bool const validateRegistry, ::Editor::ScriptModule::ScriptClipboardItem const &clipboardItem, ::WeakEntityRef playerRef)
MCAPI bool _validateRegistry(::std::string registryName, ::Bedrock::NonOwnerPointer<::Editor::IEditorPlayer > editorPlayer)
MCAPI void _saveJigsawRegistryFiles(::std::string const &registryName)
static MCAPI void ** $vftableForIEditorService()
MCAPI void $setJigsawRegistry(::std::string const &registryName, ::std::map<::Editor::Services::JigsawJsonType, ::std::vector<::Editor::Services::EditorRegistryFile > > data, bool shouldSaveFiles)
MCAPI::std::string $getJigsawExportDirectory()
MCAPI ::Scripting::Result_deprecated< void > $quit()
MCAPI ::std::vector<::std::string > $getJigsawRegistryList()
MCAPI ::Scripting::Result_deprecated< void > $init()
Definition IEditorService.h:11
Definition FeatureRegistry.h:18
Definition IStructureTemplateManager.h:16
Definition JigsawStructureRegistry.h:22
Definition WeakEntityRef.h:14
STL namespace.
Definition EditorJigsawSection.h:7
Definition EditorRegistryFile.h:7
Definition Alias.h:14