LeviLamina
Loading...
Searching...
No Matches
ServerCursorService.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/game_refs/StackRefResult.h"
7#include "mc/deps/game_refs/WeakRef.h"
8#include "mc/deps/scripting/runtime/Result_deprecated.h"
9#include "mc/editor/services/IEditorService.h"
10#include "mc/editor/services/PayloadStoreHelper.h"
11#include "mc/server/editor/serviceproviders/ServerCursorServiceProvider.h"
12
13// auto generated forward declare list
14// clang-format off
15class BlockPos;
16class HashedString;
17namespace Bedrock::PubSub { class Subscription; }
18namespace Editor { class ProjectRegion; }
19namespace Editor { class ServiceProviderCollection; }
20namespace Editor::Cursor { class ServerCursor; }
21namespace Editor::Cursor { struct AttachmentProperties; }
22namespace Editor::Cursor { struct CursorState; }
23namespace Editor::Cursor { struct Position; }
24namespace Editor::Cursor { struct Ray; }
25namespace Editor::Network { class CursorServicePositionChangePayload; }
26namespace Editor::Network { class CursorServiceViewDistanceChangePayload; }
27// clang-format on
28
29namespace Editor::Cursor {
30
31class ServerCursorService : public ::Editor::Services::IEditorService,
34public:
35 // member variables
36 // NOLINTBEGIN
48 // NOLINTEND
49
50public:
51 // prevent constructor by default
52 ServerCursorService& operator=(ServerCursorService const&);
53 ServerCursorService(ServerCursorService const&);
54 ServerCursorService();
55
56public:
57 // virtual functions
58 // NOLINTBEGIN
59 virtual ~ServerCursorService() /*override*/;
60
61 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
62
63 virtual ::Scripting::Result_deprecated<void> ready() /*override*/;
64
65 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
66
67 virtual ::std::string_view getServiceName() const /*override*/;
68
69 virtual ::StackRefResult<::Editor::Cursor::ServerCursor> getCursor() const /*override*/;
70
71 virtual ::StackRefResult<::Editor::Cursor::Ray> getRay() const /*override*/;
72
73 virtual ::Scripting::Result_deprecated<::Editor::Cursor::CursorState> getCursorState() const /*override*/;
74
75 virtual ::Scripting::Result_deprecated<::Editor::Cursor::AttachmentProperties> getAttachmentProperties() const
76 /*override*/;
77
78 virtual ::Scripting::Result_deprecated<void> setCursorState(::Editor::Cursor::CursorState&& state) /*override*/;
79
80 virtual ::Scripting::Result_deprecated<void>
81 setAttachmentProperties(::Editor::Cursor::AttachmentProperties&& properties) /*override*/;
82
83 virtual ::Scripting::Result_deprecated<::BlockPos> moveBy(::glm::ivec3 const& offset) /*override*/;
84
85 virtual ::Scripting::Result_deprecated<int> getMaxViewBlockDistance() const /*override*/;
86
87 virtual ::Editor::Cursor::CursorState getDefaultProperties() const /*override*/;
88
89 virtual ::Scripting::Result_deprecated<void>
90 pushCursorStateById(::Editor::Cursor::CursorState const& state, ::HashedString const& identifier) /*override*/;
91
92 virtual ::Scripting::Result_deprecated<void> popCursorStateById(::HashedString const& identifier) /*override*/;
93
94 virtual ::Scripting::Result_deprecated<void> updateCursorStateById(
96 ::std::optional<::HashedString> const identifier
97 ) /*override*/;
98
99 virtual ::Scripting::Result_deprecated<::Editor::Cursor::CursorState>
100 getCursorStateById(::std::optional<::HashedString> const& identifier) /*override*/;
101
102 virtual ::std::optional<::HashedString> const& getActiveCursorStateId() const /*override*/;
103
104 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> listenForCursorStateChanges(
105 ::std::function<void(::Editor::Cursor::CursorState const&, ::Editor::Cursor::CursorState const&)> callback
106 ) /*override*/;
107
108 virtual ::Bedrock::PubSub::Subscription listenForCursorPositionChanges(
109 ::std::function<void(::std::optional<::Editor::Cursor::Position> const&, ::Editor::Cursor::CursorState const&)>
110 callback
111 ) /*override*/;
112
113 virtual ::WeakRef<::Editor::ProjectRegion> getRegion() const /*override*/;
114 // NOLINTEND
115
116public:
117 // member functions
118 // NOLINTBEGIN
120
121 MCNAPI ::Scripting::Result_deprecated<::WeakRef<::Editor::Cursor::ServerCursor>> _createCursor();
122
123 MCNAPI void _createOrUpdateRegion(::BlockPos const& pos);
124
126
128 // NOLINTEND
129
130public:
131 // constructor thunks
132 // NOLINTBEGIN
134 // NOLINTEND
135
136public:
137 // destructor thunk
138 // NOLINTBEGIN
139 MCNAPI void $dtor();
140 // NOLINTEND
141
142public:
143 // virtual function thunks
144 // NOLINTBEGIN
145 MCNAPI ::Scripting::Result_deprecated<void> $init();
146
147 MCNAPI ::Scripting::Result_deprecated<void> $ready();
148
149 MCNAPI ::Scripting::Result_deprecated<void> $quit();
150
151 MCNAPI ::std::string_view $getServiceName() const;
152
153 MCNAPI ::StackRefResult<::Editor::Cursor::ServerCursor> $getCursor() const;
154
155 MCNAPI ::StackRefResult<::Editor::Cursor::Ray> $getRay() const;
156
157 MCNAPI ::Scripting::Result_deprecated<::Editor::Cursor::CursorState> $getCursorState() const;
158
159 MCNAPI ::Scripting::Result_deprecated<::Editor::Cursor::AttachmentProperties> $getAttachmentProperties() const;
160
161 MCNAPI ::Scripting::Result_deprecated<void> $setCursorState(::Editor::Cursor::CursorState&& state);
162
163 MCNAPI ::Scripting::Result_deprecated<void>
165
166 MCNAPI ::Scripting::Result_deprecated<::BlockPos> $moveBy(::glm::ivec3 const& offset);
167
168 MCNAPI ::Scripting::Result_deprecated<int> $getMaxViewBlockDistance() const;
169
170 MCNAPI ::Editor::Cursor::CursorState $getDefaultProperties() const;
171
172 MCNAPI ::Scripting::Result_deprecated<void>
174
175 MCNAPI ::Scripting::Result_deprecated<void> $popCursorStateById(::HashedString const& identifier);
176
177 MCNAPI ::Scripting::Result_deprecated<void> $updateCursorStateById(
179 ::std::optional<::HashedString> const identifier
180 );
181
182 MCNAPI ::Scripting::Result_deprecated<::Editor::Cursor::CursorState>
183 $getCursorStateById(::std::optional<::HashedString> const& identifier);
184
185 MCNAPI ::std::optional<::HashedString> const& $getActiveCursorStateId() const;
186
187 MCNAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> $listenForCursorStateChanges(
188 ::std::function<void(::Editor::Cursor::CursorState const&, ::Editor::Cursor::CursorState const&)> callback
189 );
190
191 MCNAPI ::Bedrock::PubSub::Subscription $listenForCursorPositionChanges(
192 ::std::function<void(::std::optional<::Editor::Cursor::Position> const&, ::Editor::Cursor::CursorState const&)>
193 callback
194 );
195
196 MCNAPI ::WeakRef<::Editor::ProjectRegion> $getRegion() const;
197
198
199 // NOLINTEND
200
201public:
202 // vftables
203 // NOLINTBEGIN
205
206 MCNAPI static void** $vftableForIEditorService();
207 // NOLINTEND
208};
209
210} // namespace Editor::Cursor
Definition Subscription.h:10
Definition BlockPos.h:21
Definition ServerCursorServiceProvider.h:25
MCAPI ::Scripting::Result_deprecated< void > $ready()
MCAPI ::Scripting::Result_deprecated<::Editor::Cursor::CursorState > $getCursorStateById(::std::optional<::HashedString > const &identifier)
MCAPI ::Scripting::Result_deprecated<::Editor::Cursor::AttachmentProperties > $getAttachmentProperties() const
MCAPI ::Scripting::Result_deprecated< void > $setCursorState(::Editor::Cursor::CursorState &&state)
MCAPI void _handlePayloadPositionChange(::Editor::Network::CursorServicePositionChangePayload const &payload)
MCAPI ::Scripting::Result_deprecated<::BlockPos > $moveBy(::glm::ivec3 const &offset)
MCAPI::Bedrock::PubSub::Subscription $listenForCursorPositionChanges(::std::function< void(::std::optional<::Editor::Cursor::Position > const &, ::Editor::Cursor::CursorState const &)> callback)
MCAPI ::Scripting::Result_deprecated< void > $quit()
MCAPI void _handleMaxViewDistanceChange(::Editor::Network::CursorServiceViewDistanceChangePayload const &payload)
static MCAPI void ** $vftableForIEditorService()
MCAPI ::Scripting::Result_deprecated<::WeakRef<::Editor::Cursor::ServerCursor > > _createCursor()
MCAPI ::Scripting::Result_deprecated<::Editor::Cursor::CursorState > $getCursorState() const
MCAPI::std::string_view $getServiceName() const
MCAPI ::Scripting::Result_deprecated< int > $getMaxViewBlockDistance() const
MCAPI::Editor::Cursor::CursorState $getDefaultProperties() const
MCAPI ::StackRefResult<::Editor::Cursor::Ray > $getRay() const
MCAPI ::Scripting::Result_deprecated< void > $init()
MCAPI ::Scripting::Result_deprecated< void > $popCursorStateById(::HashedString const &identifier)
MCAPI ::StackRefResult<::Editor::Cursor::ServerCursor > $getCursor() const
MCAPI void _createOrUpdateRegion(::BlockPos const &pos)
static MCAPI void ** $vftableForServerCursorServiceProvider()
MCAPI ::Scripting::Result_deprecated< void > $updateCursorStateById(::Editor::Cursor::CursorState const &state, ::std::optional<::HashedString > const identifier)
MCAPI ::WeakRef<::Editor::ProjectRegion > $getRegion() const
MCAPI ::std::optional<::HashedString > const & $getActiveCursorStateId() const
MCAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription > $listenForCursorStateChanges(::std::function< void(::Editor::Cursor::CursorState const &, ::Editor::Cursor::CursorState const &)> callback)
MCAPI ::Scripting::Result_deprecated< void > $setAttachmentProperties(::Editor::Cursor::AttachmentProperties &&properties)
MCAPI ::Scripting::Result_deprecated< void > $pushCursorStateById(::Editor::Cursor::CursorState const &state, ::HashedString const &identifier)
MCAPI void * $ctor(::Editor::ServiceProviderCollection &providers)
MCAPI ServerCursorService(::Editor::ServiceProviderCollection &providers)
Definition ServerCursor.h:21
Definition CursorServicePositionChangePayload.h:18
Definition CursorServiceViewDistanceChangePayload.h:16
Definition ProjectRegion.h:28
Definition ServiceProviderCollection.h:7
Definition IEditorService.h:11
Definition PayloadStoreHelper.h:7
Definition HashedString.h:5
Definition AttachmentProperties.h:7
Definition CursorState.h:12
Definition Position.h:12
Definition Ray.h:12
Definition Alias.h:14