LeviLamina
Loading...
Searching...
No Matches
EditorBlockPaletteService.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/script_core/runtime/scripting/Result_deprecated.h"
7#include "mc/editor/serviceproviders/EditorBlockPaletteServiceProvider.h"
8#include "mc/editor/services/IEditorService.h"
9#include "mc/editor/services/PayloadStoreHelper.h"
10
11// auto generated forward declare list
12// clang-format off
13class Block;
14class BlockType;
15class HashedString;
16namespace Bedrock::PubSub { class Subscription; }
17namespace Editor { class ServiceProviderCollection; }
18namespace Editor { struct EditorBlockPalette; }
19namespace Editor { struct EditorBlockPaletteEventActivePaletteChanged; }
20namespace Editor { struct EditorBlockPaletteEventItemUpdated; }
21namespace Editor { struct EditorBlockPaletteEventPaletteRemoved; }
22namespace Editor { struct EditorBlockPaletteEventPaletteUpdated; }
23namespace Editor { struct EditorBlockPaletteEventSelectedItemIndexChanged; }
24namespace Editor { struct ProbabilityBlockPaletteItem; }
25namespace Editor { struct SimpleBlockPaletteItem; }
26namespace Editor::Network { class BlockPaletteActivePaletteChangedPayload; }
27namespace Editor::Network { class BlockPaletteChangedPayload; }
28namespace Editor::Network { class BlockPaletteItemChangedPayload; }
29namespace Editor::Network { class BlockPaletteRemovedPayload; }
30namespace Editor::Network { class BlockPaletteSelectedIndexChangedPayload; }
31namespace Scripting { struct ArgumentOutOfBoundsError; }
32namespace Scripting { struct Error; }
33// clang-format on
34
35namespace Editor::Services {
36
37class EditorBlockPaletteService : public ::Editor::Services::IEditorService,
40public:
41 // member variables
42 // NOLINTBEGIN
49 // NOLINTEND
50
51public:
52 // prevent constructor by default
53 EditorBlockPaletteService& operator=(EditorBlockPaletteService const&);
54 EditorBlockPaletteService(EditorBlockPaletteService const&);
55 EditorBlockPaletteService();
56
57public:
58 // virtual functions
59 // NOLINTBEGIN
60 virtual ~EditorBlockPaletteService() /*override*/;
61
62 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
63
64 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
65
66 virtual ::std::string_view getServiceName() const /*override*/;
67
68 virtual ::std::vector<::std::shared_ptr<::Editor::EditorBlockPalette>> const& getPaletteList() const /*override*/;
69
70 virtual ::Editor::EditorBlockPalette const& getActivePalette() const /*override*/;
71
72 virtual void forEachBlockType(::std::function<void(::BlockType const&, bool)> callback) const /*override*/;
73
74 virtual int getSelectedPaletteItemIndex() const /*override*/;
75
76 virtual ::Scripting::Result_deprecated<void> pickBlock(::Block const& pickedBlock) = 0;
77
78 virtual ::Scripting::Result_deprecated<::BlockType const*> getSelectedBlockType() const /*override*/;
79
80 virtual ::std::vector<::std::string> getPaletteIdList() const /*override*/;
81
82 virtual ::std::optional<::Editor::EditorBlockPalette> getPalette(::HashedString const& paletteId) const
83 /*override*/;
84
85 virtual ::Scripting::Result_deprecated<
86 ::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem>>
87 getPaletteItem(::HashedString const& paletteId, int index) const /*override*/;
88
89 virtual ::Bedrock::PubSub::Subscription registerEventListener(
90 ::std::function<void(::std::variant<
96 ) /*override*/;
97
98 virtual void _handleBlockPaletteActivePaletteChangedPayload(
100 ) = 0;
101
102 virtual void
103 _handleBlockPaletteItemChangedPayload(::Editor::Network::BlockPaletteItemChangedPayload const& payload) = 0;
104
105 virtual void _handleBlockPaletteSelectedIndexChangedPayload(
107 ) = 0;
108
109 virtual void _handleBlockPaletteChangedPayload(::Editor::Network::BlockPaletteChangedPayload const& payload) = 0;
110
111 virtual void _handleBlockPaletteRemovedPayload(::Editor::Network::BlockPaletteRemovedPayload const& payload) = 0;
112 // NOLINTEND
113
114public:
115 // member functions
116 // NOLINTBEGIN
118
120
121 MCNAPI ::Scripting::Result_deprecated<void> _checkForDuplicateBlocks(
122 ::HashedString const& paletteId,
123 ::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem> const& item
124 );
125
126 MCNAPI ::Scripting::ArgumentOutOfBoundsError _getIndexOutOfBoundsError(int param, int argIndex, int max) const;
127
128 MCNAPI ::Editor::EditorBlockPalette* _getPalette(::HashedString const& paletteId) const;
129
130 MCNAPI ::Scripting::Error _getPaletteIdNotFoundError(::HashedString const& paletteId) const;
131
132 MCNAPI ::Scripting::Result_deprecated<void> _removePalette(::HashedString const& paletteId);
133
134 MCNAPI ::Scripting::Result_deprecated<void> _setActivePalette(::HashedString const& paletteId);
135
136 MCNAPI ::Scripting::Result_deprecated<void> _updatePaletteItem(
137 ::HashedString const& paletteId,
138 int index,
139 ::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem> const& item
140 );
141
142 MCNAPI ::Scripting::Result_deprecated<void> _updateSelectedPaletteIndex(int index);
143 // NOLINTEND
144
145public:
146 // constructor thunks
147 // NOLINTBEGIN
148 MCNAPI void* $ctor(::Editor::ServiceProviderCollection& serviceProviders);
149 // NOLINTEND
150
151public:
152 // destructor thunk
153 // NOLINTBEGIN
154 MCNAPI void $dtor();
155 // NOLINTEND
156
157public:
158 // virtual function thunks
159 // NOLINTBEGIN
160 MCNAPI ::Scripting::Result_deprecated<void> $init();
161
162 MCNAPI ::Scripting::Result_deprecated<void> $quit();
163
164 MCNAPI ::std::string_view $getServiceName() const;
165
166 MCNAPI ::std::vector<::std::shared_ptr<::Editor::EditorBlockPalette>> const& $getPaletteList() const;
167
168 MCNAPI ::Editor::EditorBlockPalette const& $getActivePalette() const;
169
170 MCNAPI void $forEachBlockType(::std::function<void(::BlockType const&, bool)> callback) const;
171
173
174 MCNAPI ::Scripting::Result_deprecated<::BlockType const*> $getSelectedBlockType() const;
175
176 MCNAPI ::std::vector<::std::string> $getPaletteIdList() const;
177
178 MCNAPI ::std::optional<::Editor::EditorBlockPalette> $getPalette(::HashedString const& paletteId) const;
179
180 MCNAPI ::Scripting::Result_deprecated<
181 ::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem>>
182 $getPaletteItem(::HashedString const& paletteId, int index) const;
183
184 MCNAPI ::Bedrock::PubSub::Subscription $registerEventListener(
185 ::std::function<void(::std::variant<
191 );
192
193
194 // NOLINTEND
195
196public:
197 // vftables
198 // NOLINTBEGIN
199 MCNAPI static void** $vftableForIEditorService();
200
202 // NOLINTEND
203};
204
205} // namespace Editor::Services
Definition Subscription.h:10
Definition BlockType.h:79
Definition Block.h:41
Definition BlockPaletteActivePaletteChangedPayload.h:16
Definition BlockPaletteChangedPayload.h:17
Definition BlockPaletteItemChangedPayload.h:19
Definition BlockPaletteRemovedPayload.h:16
Definition BlockPaletteSelectedIndexChangedPayload.h:16
Definition ServiceProviderCollection.h:7
Definition EditorBlockPaletteServiceProvider.h:26
MCAPI ::Scripting::Result_deprecated< void > _removePalette(::HashedString const &paletteId)
MCAPI::Editor::EditorBlockPalette const & $getActivePalette() const
MCAPI ::std::vector<::std::shared_ptr<::Editor::EditorBlockPalette > > const & $getPaletteList() const
MCAPI::Bedrock::PubSub::Subscription $registerEventListener(::std::function< void(::std::variant< ::Editor::EditorBlockPaletteEventItemUpdated, ::Editor::EditorBlockPaletteEventSelectedItemIndexChanged, ::Editor::EditorBlockPaletteEventActivePaletteChanged, ::Editor::EditorBlockPaletteEventPaletteUpdated, ::Editor::EditorBlockPaletteEventPaletteRemoved > const &)> callback)
MCAPI ::Scripting::Result_deprecated< void > $quit()
MCAPI::Scripting::ArgumentOutOfBoundsError _getIndexOutOfBoundsError(int param, int argIndex, int max) const
MCAPI ::Scripting::Result_deprecated< ::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem > > $getPaletteItem(::HashedString const &paletteId, int index) const
MCAPI void _addOrReplacePalette(::Editor::EditorBlockPalette const &palette)
MCAPI ::Scripting::Result_deprecated< void > $init()
MCAPI::Scripting::Error _getPaletteIdNotFoundError(::HashedString const &paletteId) const
MCAPI EditorBlockPaletteService(::Editor::ServiceProviderCollection &serviceProviders)
MCAPI void $forEachBlockType(::std::function< void(::BlockType const &, bool)> callback) const
MCAPI ::Scripting::Result_deprecated< void > _setActivePalette(::HashedString const &paletteId)
MCAPI::Editor::EditorBlockPalette * _getPalette(::HashedString const &paletteId) const
MCAPI ::std::vector<::std::string > $getPaletteIdList() const
MCAPI ::Scripting::Result_deprecated< void > _checkForDuplicateBlocks(::HashedString const &paletteId, ::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem > const &item)
MCAPI ::std::optional<::Editor::EditorBlockPalette > $getPalette(::HashedString const &paletteId) const
MCAPI::std::string_view $getServiceName() const
MCAPI ::Scripting::Result_deprecated<::BlockType const * > $getSelectedBlockType() const
static MCAPI void ** $vftableForEditorBlockPaletteServiceProvider()
MCAPI void * $ctor(::Editor::ServiceProviderCollection &serviceProviders)
static MCAPI void ** $vftableForIEditorService()
MCAPI ::Scripting::Result_deprecated< void > _updateSelectedPaletteIndex(int index)
MCAPI ::Scripting::Result_deprecated< void > _updatePaletteItem(::HashedString const &paletteId, int index, ::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem > const &item)
Definition IEditorService.h:11
Definition PayloadStoreHelper.h:7
Definition HashedString.h:5
Definition EditorBlockPaletteEventActivePaletteChanged.h:7
Definition EditorBlockPaletteEventItemUpdated.h:7
Definition EditorBlockPaletteEventPaletteRemoved.h:7
Definition EditorBlockPaletteEventPaletteUpdated.h:7
Definition EditorBlockPaletteEventSelectedItemIndexChanged.h:7
Definition EditorBlockPalette.h:15
Definition ProbabilityBlockPaletteItem.h:12
Definition SimpleBlockPaletteItem.h:12
Definition ArgumentOutOfBoundsError.h:10
Definition Error.h:10
Definition Alias.h:14