3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/file/PathBuffer.h"
7#include "mc/deps/game_refs/WeakRef.h"
8#include "mc/deps/script_core/runtime/scripting/Result_deprecated.h"
9#include "mc/editor/AnnotationChangeType.h"
10#include "mc/editor/AnnotationInstanceHandler.h"
11#include "mc/editor/AnnotationManagerServiceProvider.h"
12#include "mc/editor/AnnotationMetadataHandler.h"
13#include "mc/editor/services/IEditorService.h"
32namespace mce {
class UUID; }
35namespace Editor::Services {
64 AnnotationManagerService& operator=(AnnotationManagerService
const&);
65 AnnotationManagerService(AnnotationManagerService
const&);
66 AnnotationManagerService();
71 virtual ~AnnotationManagerService() =
default;
73 virtual ::Scripting::Result_deprecated<void> init() ;
75 virtual ::Scripting::Result_deprecated<void> quit() ;
77 virtual ::std::string_view getServiceName()
const ;
79 virtual ::WeakRef<::Editor::Annotations::TextAnnotationInstance> createTextAnnotation(
85 virtual void deleteAnnotation(
::mce::UUID const&
id) ;
87 virtual void deleteAnnotations(::std::vector<::mce::UUID>
const& ids) ;
89 virtual ::WeakRef<::Editor::Annotations::AnnotationInstance> getAnnotation(
::mce::UUID const&
id) ;
91 virtual ::WeakRef<::Editor::Annotations::AnnotationInstance>
98 virtual ::WeakRef<::Editor::Annotations::AnnotationMetadata> getMetadata(
::mce::UUID const&
id)
const ;
100 virtual ::std::vector<::WeakRef<::Editor::Annotations::AnnotationMetadata>> getAllMetadata()
const ;
102 virtual ::std::vector<::WeakRef<::Editor::Annotations::AnnotationMetadata>>
103 getMetadataInChunkRange(::std::unordered_set<::ChunkPos>
const& chunks,
::DimensionType const& dimension)
const
106 virtual ::Bedrock::PubSub::Subscription subscribeToChanges(
114 virtual ::std::optional<::HashedString>
163 MCNAPI ::Scripting::Result_deprecated<void>
$init();
165 MCNAPI ::Scripting::Result_deprecated<void>
$quit();
181 MCNAPI ::WeakRef<::Editor::Annotations::AnnotationInstance>
190 MCNAPI ::std::vector<::WeakRef<::Editor::Annotations::AnnotationMetadata>>
$getAllMetadata()
const;
192 MCNAPI ::std::vector<::WeakRef<::Editor::Annotations::AnnotationMetadata>>
195 MCNAPI ::Bedrock::PubSub::Subscription
202 MCNAPI ::std::optional<::HashedString>
Definition Subscription.h:10
Definition ChunkSource.h:37
Definition PathBuffer.h:8
Definition AnnotationInstanceHandler.h:12
Definition AnnotationInstance.h:19
Definition AnnotationManagerServiceProvider.h:25
Definition TextAnnotationInstance.h:22
Definition ServiceProviderCollection.h:7
MCAPI void _onChunkLoaded(::ChunkSource &, ::LevelChunk &chunk, int)
MCAPI void _saveDirtyAnnotations()
MCAPI ::std::optional<::HashedString > $validateName(::Editor::Annotations::AnnotationMetadata const &metadata, ::HashedString const &name)
MCAPI void $releaseLeasedInstance(::mce::UUID const &id, ::ActorUniqueID ownerId)
MCAPI bool _saveAndRemoveInstance(::mce::UUID const &id)
MCAPI void * $ctor(::Editor::ServiceProviderCollection &providers, ::Core::PathBuffer<::std::string > annotationPath)
MCAPI void _onChunkDiscarded(::LevelChunk &chunk)
MCAPI void $deleteAnnotations(::std::vector<::mce::UUID > const &ids)
MCAPI ::WeakRef<::Editor::Annotations::AnnotationMetadata > $getMetadata(::mce::UUID const &id) const
MCAPI ::WeakRef<::Editor::Annotations::TextAnnotationInstance > $createTextAnnotation(::DimensionType const &dimension, ::Vec3 const &position, ::Editor::Annotations::TextAnnotationData const &settings)
MCAPI void _publishUpdate(::mce::UUID const &id, ::Editor::Annotations::AnnotationChangeType type)
MCAPI ::std::vector<::WeakRef<::Editor::Annotations::AnnotationMetadata > > $getMetadataInChunkRange(::std::unordered_set<::ChunkPos > const &chunks, ::DimensionType const &dimension) const
MCAPI bool _writeData(::Editor::Annotations::AnnotationInstance const &instance)
MCAPI ::Scripting::Result_deprecated< void > $quit()
MCAPI bool _loadInstance(::mce::UUID const &id, ::ChunkKey const &chunkKey, bool chunkLoaded)
MCAPI ::WeakRef<::Editor::Annotations::AnnotationInstance > $acquireLeasedInstance(::mce::UUID const &id, ::ActorUniqueID ownerId)
MCAPI void _deleteAnnotation(::mce::UUID const &id)
static MCAPI ::std::string_view const & serviceName()
MCAPI::Bedrock::PubSub::Subscription $subscribeToChanges(::std::function< void(::Editor::Annotations::AnnotationChangeEvent const &)> callback)
MCAPI void $deleteAnnotation(::mce::UUID const &id)
MCAPI void _updateMetadataIndex(::mce::UUID const &id)
MCAPI ::Scripting::Result_deprecated< void > $init()
MCAPI void $onUpdate(::Editor::Annotations::AnnotationInstance const &instance)
MCAPI void $onUpdate(::Editor::Annotations::AnnotationMetadata const &metadata)
MCAPI AnnotationManagerService(::Editor::ServiceProviderCollection &providers, ::Core::PathBuffer<::std::string > annotationPath)
MCAPI void $releaseLeasedInstances(::ActorUniqueID ownerId)
MCAPI ::std::vector<::WeakRef<::Editor::Annotations::AnnotationMetadata > > $getAllMetadata() const
MCAPI ::WeakRef<::Editor::Annotations::AnnotationInstance > $getAnnotation(::mce::UUID const &id)
MCAPI::HashedString _getUniqueAnnotationName(::HashedString const &name) const
MCAPI::std::string_view $getServiceName() const
Definition IEditorService.h:11
Definition HashedString.h:5
Definition LevelChunk.h:76
Definition ActorUniqueID.h:5
Definition DimensionType.h:5
Definition AnnotationChangeEvent.h:7
Definition TextAnnotationData.h:13