36 virtual ::std::vector<::WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance>>
37 getInstancesInChunk(::DimensionType
const& dimension,
::ChunkPos const& chunkPos)
const = 0;
39 virtual ::std::optional<::Editor::Prefabs::VisiblePrefabInstance> generateVisibleInstanceDataFromPrefabInstance(
43 virtual ::WeakRef<::Editor::Prefabs::PrefabDBTemplate const> getTemplate(
::mce::UUID const& templateId)
const = 0;
45 virtual ::WeakRef<::Editor::Prefabs::PrefabDBTemplate> getTemplate(
::mce::UUID const& templateId) = 0;
47 virtual ::WeakRef<::Editor::Prefabs::PrefabDBTemplate> getTemplate(::std::string_view name) = 0;
49 virtual ::WeakRef<::Editor::Prefabs::PrefabDBTemplate> createPrefabTemplate(
50 ::std::string
const& name,
51 ::std::string
const& displayName,
52 ::std::string
const& description,
53 ::std::string
const& notes,
54 ::std::vector<::std::string>
const& tags
57 virtual ::std::vector<::WeakRef<::Editor::Prefabs::PrefabDBTemplate const>> getTemplates()
const = 0;
59 virtual bool deleteTemplate(
::mce::UUID const& templateId) = 0;
61 virtual ::WeakRef<::Editor::Prefabs::PrefabDBTemplate> cloneTemplate(
63 ::std::string
const& newName,
64 ::std::optional<::std::string>
const& optNewDisplayName
67 virtual ::WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance> createPrefabInstance(
69 ::DimensionType
const& dimension,
77 virtual ::Bedrock::PubSub::Subscription subscribeToTemplateChanges(
81 virtual ::Bedrock::PubSub::Subscription subscribeToInstanceChanges(
85 virtual ::WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance>
86 getInstance(::DimensionType
const& dimension,
::mce::UUID const& instanceId) = 0;
88 virtual void bakePrefabInstanceToWorld(
92 ::std::optional<::std::string_view> optionalCapturePath
97 ::std::function<
void(
bool)> completionCallback,
98 ::std::function<
void(::std::string_view)> logger
103 ::std::function<
void(
bool)> completionCallback,
104 ::std::function<
void(::std::string_view)> logger