LeviLamina
Loading...
Searching...
No Matches
EditorProjectRegionManagerServiceProvider.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/game_refs/WeakRef.h"
7#include "mc/deps/script_core/runtime/scripting/Result_deprecated.h"
8
9// auto generated forward declare list
10// clang-format off
11class Dimension;
12struct Bounds;
13struct DimensionType;
14namespace Bedrock::PubSub { class Subscription; }
15namespace Editor { class ProjectRegion; }
16namespace Editor { struct ProjectRegionConfig; }
17namespace Editor { struct ProjectRegionGlobalMetrics; }
18namespace Editor { struct ProjectRegionManagerChunkProcessingState; }
19namespace mce { class UUID; }
20// clang-format on
21
22namespace Editor::Services {
23
25public:
26 // virtual functions
27 // NOLINTBEGIN
29
30 virtual ::WeakRef<::Editor::ProjectRegion> createRegion(
31 ::Dimension& dimension,
33 ::std::optional<uint64> ownerId
34 ) = 0;
35
36 virtual ::std::vector<::WeakRef<::Editor::ProjectRegion>> getAllRegions() const = 0;
37
38 virtual ::Scripting::Result_deprecated<void> destroyRegion(::mce::UUID const& id) = 0;
39
40 virtual ::WeakRef<::Editor::ProjectRegion> getRegion(::mce::UUID const& id) const = 0;
41
42 virtual ::Scripting::Result_deprecated<void> regenerateRegion(
43 ::DimensionType dimensionType,
44 ::std::vector<::Bounds> const& boundsList,
45 bool regenerateWorldWithExcludedBounds
46 ) = 0;
47
48 virtual ::Scripting::Result_deprecated<void>
49 pruneRegion(::DimensionType dimensionType, ::std::vector<::Bounds> const& boundsList) = 0;
50
51 virtual bool isProcessingChunks() const = 0;
52
53 virtual ::std::optional<::Editor::ProjectRegionManagerChunkProcessingState> getChunkProcessingState() const = 0;
54
55 virtual ::Editor::ProjectRegionGlobalMetrics collectMetrics() const = 0;
56
57 virtual ::Bedrock::PubSub::Subscription registerChunkProcessingChangeListener(
59 callback
60 ) = 0;
61 // NOLINTEND
62};
63
64} // namespace Editor::Services
Definition Subscription.h:10
Definition Dimension.h:86
Definition ProjectRegion.h:25
Definition EditorProjectRegionManagerServiceProvider.h:24
Definition Result_deprecated.h:8
Definition UUID.h:8
Definition Bounds.h:8
Definition DimensionType.h:5
Definition ProjectRegionConfig.h:7
Definition ProjectRegionGlobalMetrics.h:10
Definition ProjectRegionManagerChunkProcessingState.h:7