51 struct CachedPrefabInstanceBounds {
61 CachedPrefabInstanceBounds& operator=(CachedPrefabInstanceBounds
const&);
62 CachedPrefabInstanceBounds(CachedPrefabInstanceBounds
const&);
63 CachedPrefabInstanceBounds();
83 PrefabDBService& operator=(PrefabDBService
const&);
84 PrefabDBService(PrefabDBService
const&);
90 virtual ~PrefabDBService() =
default;
92 virtual ::Scripting::Result_deprecated<void> init() ;
94 virtual ::Scripting::Result_deprecated<void> ready() ;
96 virtual ::Scripting::Result_deprecated<void> quit() ;
98 virtual ::std::string_view getServiceName() const ;
100 virtual ::
std::vector<::
WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance>>
103 virtual ::
BoundingBox getPrefabInstanceBounds(::Editor::Prefabs::PrefabDBPrefabInstance const& instance) const
106 virtual ::
std::optional<::Editor::Prefabs::VisiblePrefabInstance> generateVisibleInstanceDataFromPrefabInstance(
107 ::
WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance const> instanceRef
110 virtual ::
WeakRef<::Editor::Prefabs::PrefabDBTemplate const> getTemplate(::mce::UUID const& templateId) const
113 virtual ::
WeakRef<::Editor::Prefabs::PrefabDBTemplate> getTemplate(::mce::UUID const& templateId) ;
115 virtual ::
WeakRef<::Editor::Prefabs::PrefabDBTemplate> getTemplate(::
std::string_view name) ;
117 virtual ::
WeakRef<::Editor::Prefabs::PrefabDBTemplate> createPrefabTemplate(
118 ::
std::
string const& name,
119 ::
std::
string const& displayName,
120 ::
std::
string const& description,
121 ::
std::
string const& notes,
122 ::
std::vector<::
std::
string> const& tags
125 virtual ::
std::vector<::
WeakRef<::Editor::Prefabs::PrefabDBTemplate const>> getTemplates() const ;
127 virtual
bool deleteTemplate(::mce::UUID const& templateId) ;
129 virtual ::
WeakRef<::Editor::Prefabs::PrefabDBTemplate> cloneTemplate(
130 ::
WeakRef<::Editor::Prefabs::PrefabDBTemplate const> templateToCopyRef,
131 ::
std::
string const& newName,
132 ::
std::optional<::
std::
string> const& optNewDisplayName
135 virtual ::
WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance> createPrefabInstance(
136 ::
WeakRef<::Editor::Prefabs::PrefabDBTemplate> prefabTemplateRef,
138 ::
Vec3 const& position,
143 virtual
void deletePrefabInstance(::
WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance> instanceRef) ;
145 virtual ::Bedrock::PubSub::Subscription subscribeToInstanceChanges(
146 ::
std::function<
void(::Editor::Prefabs::PrefabDBInstanceChangeEvent const&)> callback
149 virtual ::Bedrock::PubSub::Subscription subscribeToTemplateChanges(
150 ::
std::function<
void(::Editor::Prefabs::PrefabDBTemplateChangeEvent const&)> callback
153 virtual ::
WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance>
154 getInstance(::
DimensionType const& dimension, ::mce::UUID const& instanceId) ;
156 virtual ::Scripting::Result_deprecated<
void>
157 applyInstanceSnapshot(::Editor::Prefabs::PrefabDBInstanceLoader::v1::InstanceData const& data) ;
159 virtual ::Scripting::Result_deprecated<
void> deleteInstanceById(::mce::UUID const& instanceId) ;
161 virtual ::
std::optional<::Editor::Prefabs::PrefabDBInstanceLoader::v1::InstanceData>
162 getInstanceSnapshot(::mce::UUID const& instanceId) ;
164 virtual
void findInstancesOfTemplate(
165 ::mce::UUID const& templateId,
166 ::
std::vector<::
WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance>>& outInstances
169 virtual
void bakePrefabInstanceToWorld(
172 ::
WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance> instanceRef,
173 ::
std::optional<::
std::string_view> optionalCapturePath,
179 ::
std::function<
void(
bool)> completionCallback,
180 ::
std::function<
void(::
std::string_view)> logger,
181 bool deleteInstancesAfterBake
186 ::
std::function<
void(
bool)> completionCallback,
187 ::
std::function<
void(::
std::string_view)> logger
198 MCNAPI ::
StackRefResult<::Editor::Prefabs::PrefabDBPrefabInstance>
202 ::
std::
string const& name,
203 ::
std::
string const& displayName,
204 ::
std::
string const& description,
205 ::
std::
string const& notes,
206 ::
std::vector<::
std::
string> const& tags,
207 ::Editor::Prefabs::PrefabSource const& source
222 MCNAPI ::Scripting::Result_deprecated<
void>
$init();
224 MCNAPI ::Scripting::Result_deprecated<
void>
$ready();
226 MCNAPI ::Scripting::Result_deprecated<
void>
$quit();
230 MCNAPI ::
std::vector<::
WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance>>
236 ::
WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance const> instanceRef
239 MCNAPI ::
WeakRef<::Editor::Prefabs::PrefabDBTemplate const>
$getTemplate(::mce::UUID const& templateId) const;
246 ::
std::
string const& name,
247 ::
std::
string const& displayName,
248 ::
std::
string const& description,
249 ::
std::
string const& notes,
250 ::
std::vector<::
std::
string> const& tags
258 ::
WeakRef<::Editor::Prefabs::PrefabDBTemplate const> templateToCopyRef,
259 ::
std::
string const& newName,
260 ::
std::optional<::
std::
string> const& optNewDisplayName
264 ::
WeakRef<::Editor::Prefabs::PrefabDBTemplate> prefabTemplateRef,
266 ::
Vec3 const& position,
273 MCNAPI ::Bedrock::PubSub::Subscription
276 MCNAPI ::Bedrock::PubSub::Subscription
279 MCNAPI ::
WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance>
282 MCNAPI ::Scripting::Result_deprecated<
void>
287 MCNAPI ::
std::optional<::Editor::Prefabs::PrefabDBInstanceLoader::v1::InstanceData>
291 ::mce::UUID const& templateId,
292 ::
std::vector<::
WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance>>& outInstances
298 ::
WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance> instanceRef,
299 ::
std::optional<::
std::string_view> optionalCapturePath,
305 ::
std::function<
void(
bool)> completionCallback,
306 ::
std::function<
void(::
std::string_view)> logger,
307 bool deleteInstancesAfterBake
312 ::
std::function<
void(
bool)> completionCallback,
313 ::
std::function<
void(::
std::string_view)> logger