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::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*/ = default;
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 void _createOrUpdateRegion(::BlockPos const& pos);
119
121
123 // NOLINTEND
124
125public:
126 // virtual function thunks
127 // NOLINTBEGIN
128 MCNAPI ::Scripting::Result_deprecated<void> $init();
129
130 MCNAPI ::Scripting::Result_deprecated<void> $ready();
131
132 MCNAPI ::Scripting::Result_deprecated<void> $quit();
133
134 MCNAPI ::std::string_view $getServiceName() const;
135
136 MCNAPI ::StackRefResult<::Editor::Cursor::ServerCursor> $getCursor() const;
137
138 MCNAPI ::StackRefResult<::Editor::Cursor::Ray> $getRay() const;
139
140 MCNAPI ::Scripting::Result_deprecated<::Editor::Cursor::CursorState> $getCursorState() const;
141
142 MCNAPI ::Scripting::Result_deprecated<::Editor::Cursor::AttachmentProperties> $getAttachmentProperties() const;
143
144 MCNAPI ::Scripting::Result_deprecated<void> $setCursorState(::Editor::Cursor::CursorState&& state);
145
146 MCNAPI ::Scripting::Result_deprecated<void>
148
149 MCNAPI ::Scripting::Result_deprecated<::BlockPos> $moveBy(::glm::ivec3 const& offset);
150
151 MCNAPI ::Scripting::Result_deprecated<int> $getMaxViewBlockDistance() const;
152
153 MCNAPI ::Editor::Cursor::CursorState $getDefaultProperties() const;
154
155 MCNAPI ::Scripting::Result_deprecated<void>
157
158 MCNAPI ::Scripting::Result_deprecated<void> $popCursorStateById(::HashedString const& identifier);
159
160 MCNAPI ::Scripting::Result_deprecated<void> $updateCursorStateById(
162 ::std::optional<::HashedString> const identifier
163 );
164
165 MCNAPI ::Scripting::Result_deprecated<::Editor::Cursor::CursorState>
166 $getCursorStateById(::std::optional<::HashedString> const& identifier);
167
168 MCNAPI ::std::optional<::HashedString> const& $getActiveCursorStateId() const;
169
170 MCNAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> $listenForCursorStateChanges(
171 ::std::function<void(::Editor::Cursor::CursorState const&, ::Editor::Cursor::CursorState const&)> callback
172 );
173
174 MCNAPI ::Bedrock::PubSub::Subscription $listenForCursorPositionChanges(
175 ::std::function<void(::std::optional<::Editor::Cursor::Position> const&, ::Editor::Cursor::CursorState const&)>
176 callback
177 );
178
179 MCNAPI ::WeakRef<::Editor::ProjectRegion> $getRegion() const;
180
181
182 // NOLINTEND
183};
184
185} // namespace Editor::Cursor
Definition Subscription.h:10
Definition BlockPos.h:17
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)
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)
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:21
Definition CursorServicePositionChangePayload.h:16
Definition CursorServiceViewDistanceChangePayload.h:16
Definition ProjectRegion.h:25
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