LeviLamina
Loading...
Searching...
No Matches
EditorMinimapServiceProvider.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/editor/MinimapMarkerType.h"
7#include "mc/common/editor/MinimapTrackingMode.h"
8#include "mc/common/editor/MinimapViewType.h"
9#include "mc/deps/game_refs/WeakRef.h"
10#include "mc/deps/script_core/runtime/scripting/Result_deprecated.h"
11
12// auto generated forward declare list
13// clang-format off
15class Vec2;
16class Vec3;
17struct ActorUniqueID;
18struct DimensionType;
19namespace Bedrock::PubSub { class Subscription; }
20namespace Editor::Services { class MinimapItem; }
21namespace Editor::Services { struct MinimapMarkerData; }
22namespace mce { class Color; }
23namespace mce { class UUID; }
24// clang-format on
25
26namespace Editor::Services {
27
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual ~EditorMinimapServiceProvider() = default;
33
34 virtual ::WeakRef<::Editor::Services::MinimapItem>
35 createMinimap(int mapWidth, int mapHeight, ::Editor::Services::MinimapViewType minimapViewType) = 0;
36
37 virtual bool destroyMinimap(::mce::UUID const& minimapId) = 0;
38
39 virtual ::WeakRef<::Editor::Services::MinimapItem> getMinimap(::mce::UUID const& minimapId) = 0;
40
41 virtual ::std::vector<::mce::UUID> getAllMinimapIds() const = 0;
42
43 virtual bool isMinimapActive(::mce::UUID const& minimapId) const = 0;
44
45 virtual ::Scripting::Result_deprecated<void> setMinimapActive(::mce::UUID const& minimapId, bool active) = 0;
46
47 virtual ::Scripting::Result_deprecated<void>
48 setMinimapSize(::mce::UUID const& minimapId, int mapWidth, int mapHeight) = 0;
49
50 virtual ::Scripting::Result_deprecated<void>
51 setMinimapViewType(::mce::UUID const& minimapId, ::Editor::Services::MinimapViewType minimapViewType) = 0;
52
53 virtual ::Scripting::Result_deprecated<bool>
54 setCustomBiome(::mce::UUID const& minimapId, ::WeakRef<::ICustomBiomeSource> const& customBiomeSource) = 0;
55
56 virtual ::Scripting::Result_deprecated<bool>
57 setCustomBiome(::mce::UUID const& minimapId, ::mce::UUID const& customBiomeId) = 0;
58
59 virtual ::mce::Color getPlayerColor(::ActorUniqueID playerId) = 0;
60
61 virtual ::Scripting::Result_deprecated<void> setVanillaBiomeColorMap(
62 ::mce::UUID const& minimapId,
63 ::std::unordered_map<::std::string, ::mce::Color> const& colorMap
64 ) = 0;
65
66 virtual ::Scripting::Result_deprecated<void>
67 updateVanillaColorMap(::mce::UUID const& minimapId, ::std::string const& biomeId, ::mce::Color const& color) = 0;
68
69 virtual ::Scripting::Result_deprecated<void> setMinimapYLevel(::mce::UUID const& minimapId, int yLevel) = 0;
70
71 virtual int getMinimapYLevel(::mce::UUID const& minimapId) const = 0;
72
73 virtual ::Scripting::Result_deprecated<void>
74 setMinimapTrackingMode(::mce::UUID const& minimapId, ::Editor::Services::MinimapTrackingMode mode) = 0;
75
76 virtual ::Scripting::Result_deprecated<void>
77 setMinimapFreeCenter(::mce::UUID const& minimapId, ::Vec2 const& center) = 0;
78
79 virtual ::Vec2 getMinimapFreeCenter(::mce::UUID const& minimapId) const = 0;
80
81 virtual ::Scripting::Result_deprecated<void> addMultiplayerMarker(::mce::UUID const& minimapId) = 0;
82
83 virtual ::Scripting::Result_deprecated<void> removeMultiplayerMarker(::mce::UUID const& minimapId) = 0;
84
85 virtual ::Scripting::Result_deprecated<void> addLocationMarker(
86 ::mce::UUID const& minimapId,
87 ::std::vector<::Editor::Services::MinimapMarkerData> data,
88 ::std::string const& dimensionId
89 ) = 0;
90
91 virtual ::Scripting::Result_deprecated<void>
92 removeLocationMarker(::mce::UUID const& minimapId, ::std::string const& dimensionId) = 0;
93
94 virtual ::Scripting::Result_deprecated<void> addCustomMarker(
95 ::mce::UUID const& minimapId,
96 ::std::string const& iconIdentifier,
97 ::std::vector<::Editor::Services::MinimapMarkerData> data,
98 ::std::string const& dimensionId
99 ) = 0;
100
101 virtual ::Scripting::Result_deprecated<void> removeCustomMarker(
102 ::mce::UUID const& minimapId,
103 ::std::string const& iconIdentifier,
104 ::std::string const& dimensionId
105 ) = 0;
106
107 virtual ::Scripting::Result_deprecated<void>
108 removeAllCustomMarkers(::mce::UUID const& minimapId, ::std::string const& dimensionId) = 0;
109
110 virtual bool
111 hasMinimapMarkerOfType(::mce::UUID const& minimapId, ::Editor::Services::MinimapMarkerType type) const = 0;
112
113 virtual bool hasCustomGroup(::mce::UUID const& minimapId, ::std::string const& iconIdentifier) const = 0;
114
115 virtual uint updateMinimapImage(::mce::UUID const& minimapId, ::Vec3 const& playerPosition) = 0;
116
117 virtual ::std::vector<::Editor::Services::MinimapMarkerData>
118 getAllMarkers(::mce::UUID const& minimapId, ::DimensionType currentDimension) const = 0;
119
120 virtual void setMinimapUIVisible(::mce::UUID const& minimapId, bool visible) = 0;
121
122 virtual bool queryPosition(
123 ::mce::UUID const& minimapId,
124 float worldX,
125 float worldZ,
126 float& outY,
127 ::std::string& outBiomeName,
128 ::std::string& outBlockName
129 ) = 0;
130
131 virtual ::Bedrock::PubSub::Subscription
132 listenForMinimapDataChanged(::std::function<void(::mce::UUID const&)> callback) = 0;
133
134 virtual ::Bedrock::PubSub::Subscription
135 listenForMarkersChanged(::std::function<void(::mce::UUID const&)> callback) = 0;
136
137 virtual ::Bedrock::PubSub::Subscription listenForMeMarkerChanged(::std::function<void()> callback) = 0;
138 // NOLINTEND
139};
140
141} // namespace Editor::Services
Definition Subscription.h:10
Definition EditorMinimapServiceProvider.h:28
Definition MinimapItem.h:17
Definition ICustomBiomeSource.h:20
Definition Vec2.h:5
Definition Vec3.h:10
Definition WeakRef.h:8
Definition Color.h:13
Definition UUID.h:7
Definition ActorUniqueID.h:5
Definition DimensionType.h:5
Definition MinimapMarkerData.h:7