Skip to content
LeviMC
English
AutoLightDark
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/script_core/runtime/scripting/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*/ = default;
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 void _createOrUpdateRegion(::BlockPos const& pos);
122
124
126 // NOLINTEND
127
128public:
129 // constructor thunks
130 // NOLINTBEGIN
132 // NOLINTEND
133
134public:
135 // virtual function thunks
136 // NOLINTBEGIN
137 MCNAPI ::Scripting::Result_deprecated<void> $init();
138
139 MCNAPI ::Scripting::Result_deprecated<void> $ready();
140
141 MCNAPI ::Scripting::Result_deprecated<void> $quit();
142
143 MCNAPI ::std::string_view $getServiceName() const;
144
145 MCNAPI ::StackRefResult<::Editor::Cursor::ServerCursor> $getCursor() const;
146
147 MCNAPI ::StackRefResult<::Editor::Cursor::Ray> $getRay() const;
148
149 MCNAPI ::Scripting::Result_deprecated<::Editor::Cursor::CursorState> $getCursorState() const;
150
151 MCNAPI ::Scripting::Result_deprecated<::Editor::Cursor::AttachmentProperties> $getAttachmentProperties() const;
152
153 MCNAPI ::Scripting::Result_deprecated<void> $setCursorState(::Editor::Cursor::CursorState&& state);
154
155 MCNAPI ::Scripting::Result_deprecated<void>
157
158 MCNAPI ::Scripting::Result_deprecated<::BlockPos> $moveBy(::glm::ivec3 const& offset);
159
160 MCNAPI ::Scripting::Result_deprecated<int> $getMaxViewBlockDistance() const;
161
162 MCNAPI ::Editor::Cursor::CursorState $getDefaultProperties() const;
163
164 MCNAPI ::Scripting::Result_deprecated<void>
166
167 MCNAPI ::Scripting::Result_deprecated<void> $popCursorStateById(::HashedString const& identifier);
168
169 MCNAPI ::Scripting::Result_deprecated<void> $updateCursorStateById(
171 ::std::optional<::HashedString> const identifier
172 );
173
174 MCNAPI ::Scripting::Result_deprecated<::Editor::Cursor::CursorState>
175 $getCursorStateById(::std::optional<::HashedString> const& identifier);
176
177 MCNAPI ::std::optional<::HashedString> const& $getActiveCursorStateId() const;
178
179 MCNAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> $listenForCursorStateChanges(
180 ::std::function<void(::Editor::Cursor::CursorState const&, ::Editor::Cursor::CursorState const&)> callback
181 );
182
183 MCNAPI ::Bedrock::PubSub::Subscription $listenForCursorPositionChanges(
184 ::std::function<void(::std::optional<::Editor::Cursor::Position> const&, ::Editor::Cursor::CursorState const&)>
185 callback
186 );
187
188 MCNAPI ::WeakRef<::Editor::ProjectRegion> $getRegion() const;
189
190
191 // NOLINTEND
192
193public:
194 // vftables
195 // NOLINTBEGIN
197
198 MCNAPI static void** $vftableForIEditorService();
199 // NOLINTEND
200};
201
202} // namespace Editor::Cursor
Definition Subscription.h:10
Definition BlockPos.h:14
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<::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:16
Definition CursorServiceViewDistanceChangePayload.h:16
Definition ProjectRegion.h:25
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