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::Cursor { class ServerCursor; }
20namespace Editor::Cursor { struct AttachmentProperties; }
21namespace Editor::Cursor { struct CursorState; }
22namespace Editor::Cursor { struct Position; }
23namespace Editor::Cursor { struct Ray; }
24namespace Editor::Network { class CursorServicePositionChangePayload; }
25namespace Editor::Network { class CursorServiceViewDistanceChangePayload; }
26// clang-format on
27
28namespace Editor::Cursor {
29
30class ServerCursorService : public ::Editor::Services::IEditorService,
33public:
34 // member variables
35 // NOLINTBEGIN
47 // NOLINTEND
48
49public:
50 // prevent constructor by default
51 ServerCursorService& operator=(ServerCursorService const&);
52 ServerCursorService(ServerCursorService const&);
53 ServerCursorService();
54
55public:
56 // virtual functions
57 // NOLINTBEGIN
58 virtual ~ServerCursorService() /*override*/;
59
60 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
61
62 virtual ::Scripting::Result_deprecated<void> ready() /*override*/;
63
64 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
65
66 virtual ::std::string_view getServiceName() const /*override*/;
67
68 virtual ::StackRefResult<::Editor::Cursor::ServerCursor> getCursor() const /*override*/;
69
70 virtual ::StackRefResult<::Editor::Cursor::Ray> getRay() const /*override*/;
71
72 virtual ::Scripting::Result_deprecated<::Editor::Cursor::CursorState> getCursorState() const /*override*/;
73
74 virtual ::Scripting::Result_deprecated<::Editor::Cursor::AttachmentProperties> getAttachmentProperties() const
75 /*override*/;
76
77 virtual ::Scripting::Result_deprecated<void> setCursorState(::Editor::Cursor::CursorState&& state) /*override*/;
78
79 virtual ::Scripting::Result_deprecated<void>
80 setAttachmentProperties(::Editor::Cursor::AttachmentProperties&& properties) /*override*/;
81
82 virtual ::Scripting::Result_deprecated<::BlockPos> moveBy(::glm::ivec3 const& offset) /*override*/;
83
84 virtual ::Scripting::Result_deprecated<int> getMaxViewBlockDistance() const /*override*/;
85
86 virtual ::Editor::Cursor::CursorState getDefaultProperties() const /*override*/;
87
88 virtual ::Scripting::Result_deprecated<void>
89 pushCursorStateById(::Editor::Cursor::CursorState const& state, ::HashedString const& identifier) /*override*/;
90
91 virtual ::Scripting::Result_deprecated<void> popCursorStateById(::HashedString const& identifier) /*override*/;
92
93 virtual ::Scripting::Result_deprecated<void> updateCursorStateById(
95 ::std::optional<::HashedString> const identifier
96 ) /*override*/;
97
98 virtual ::Scripting::Result_deprecated<::Editor::Cursor::CursorState>
99 getCursorStateById(::std::optional<::HashedString> const& identifier) /*override*/;
100
101 virtual ::std::optional<::HashedString> const& getActiveCursorStateId() const /*override*/;
102
103 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> listenForCursorStateChanges(
104 ::std::function<void(::Editor::Cursor::CursorState const&, ::Editor::Cursor::CursorState const&)> callback
105 ) /*override*/;
106
107 virtual ::Bedrock::PubSub::Subscription listenForCursorPositionChanges(
108 ::std::function<void(::std::optional<::Editor::Cursor::Position> const&, ::Editor::Cursor::CursorState const&)>
109 callback
110 ) /*override*/;
111
112 virtual ::WeakRef<::Editor::ProjectRegion> getRegion() const /*override*/;
113 // NOLINTEND
114
115public:
116 // member functions
117 // NOLINTBEGIN
118 MCNAPI ::Scripting::Result_deprecated<::WeakRef<::Editor::Cursor::ServerCursor>> _createCursor();
119
120 MCNAPI void _createOrUpdateRegion(::BlockPos const& pos);
121
123
125 // NOLINTEND
126
127public:
128 // destructor thunk
129 // NOLINTBEGIN
130 MCNAPI void $dtor();
131 // NOLINTEND
132
133public:
134 // virtual function thunks
135 // NOLINTBEGIN
136 MCNAPI ::Scripting::Result_deprecated<void> $init();
137
138 MCNAPI ::Scripting::Result_deprecated<void> $ready();
139
140 MCNAPI ::Scripting::Result_deprecated<void> $quit();
141
142 MCNAPI ::std::string_view $getServiceName() const;
143
144 MCNAPI ::StackRefResult<::Editor::Cursor::ServerCursor> $getCursor() const;
145
146 MCNAPI ::StackRefResult<::Editor::Cursor::Ray> $getRay() const;
147
148 MCNAPI ::Scripting::Result_deprecated<::Editor::Cursor::CursorState> $getCursorState() const;
149
150 MCNAPI ::Scripting::Result_deprecated<::Editor::Cursor::AttachmentProperties> $getAttachmentProperties() const;
151
152 MCNAPI ::Scripting::Result_deprecated<void> $setCursorState(::Editor::Cursor::CursorState&& state);
153
154 MCNAPI ::Scripting::Result_deprecated<void>
156
157 MCNAPI ::Scripting::Result_deprecated<::BlockPos> $moveBy(::glm::ivec3 const& offset);
158
159 MCNAPI ::Scripting::Result_deprecated<int> $getMaxViewBlockDistance() const;
160
161 MCNAPI ::Editor::Cursor::CursorState $getDefaultProperties() const;
162
163 MCNAPI ::Scripting::Result_deprecated<void>
165
166 MCNAPI ::Scripting::Result_deprecated<void> $popCursorStateById(::HashedString const& identifier);
167
168 MCNAPI ::Scripting::Result_deprecated<void> $updateCursorStateById(
170 ::std::optional<::HashedString> const identifier
171 );
172
173 MCNAPI ::Scripting::Result_deprecated<::Editor::Cursor::CursorState>
174 $getCursorStateById(::std::optional<::HashedString> const& identifier);
175
176 MCNAPI ::std::optional<::HashedString> const& $getActiveCursorStateId() const;
177
178 MCNAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> $listenForCursorStateChanges(
179 ::std::function<void(::Editor::Cursor::CursorState const&, ::Editor::Cursor::CursorState const&)> callback
180 );
181
182 MCNAPI ::Bedrock::PubSub::Subscription $listenForCursorPositionChanges(
183 ::std::function<void(::std::optional<::Editor::Cursor::Position> const&, ::Editor::Cursor::CursorState const&)>
184 callback
185 );
186
187 MCNAPI ::WeakRef<::Editor::ProjectRegion> $getRegion() const;
188
189
190 // NOLINTEND
191
192public:
193 // vftables
194 // NOLINTBEGIN
196
197 MCNAPI static void** $vftableForIEditorService();
198 // NOLINTEND
199};
200
201} // namespace Editor::Cursor
Definition Subscription.h:10
Definition BlockPos.h:19
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)
Definition ServerCursor.h:22
Definition CursorServicePositionChangePayload.h:16
Definition CursorServiceViewDistanceChangePayload.h:16
Definition ProjectRegion.h:27
Definition IEditorService.h:11
Definition PayloadStoreHelper.h:7
Definition HashedString.h:5
Definition AttachmentProperties.h:7
Definition CursorState.h:12
Definition Position.h:7
Definition Ray.h:7
Definition Alias.h:14