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;
16namespace Bedrock::PubSub { class Subscription; }
17namespace Editor { class ProjectRegion; }
18namespace Editor::Cursor { class ServerCursor; }
19namespace Editor::Cursor { struct AttachmentProperties; }
20namespace Editor::Cursor { struct CursorState; }
21namespace Editor::Cursor { struct Position; }
22namespace Editor::Cursor { struct Ray; }
23namespace Editor::Network { class CursorServicePositionChangePayload; }
24namespace Editor::Network { class CursorServiceViewDistanceChangePayload; }
25// clang-format on
26
27namespace Editor::Cursor {
28
29class ServerCursorService : public ::Editor::Services::IEditorService,
32public:
33 // member variables
34 // NOLINTBEGIN
43 // NOLINTEND
44
45public:
46 // prevent constructor by default
47 ServerCursorService& operator=(ServerCursorService const&);
48 ServerCursorService(ServerCursorService const&);
49 ServerCursorService();
50
51public:
52 // virtual functions
53 // NOLINTBEGIN
54 virtual ~ServerCursorService() /*override*/;
55
56 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
57
58 virtual ::Scripting::Result_deprecated<void> ready() /*override*/;
59
60 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
61
62 virtual ::std::string_view getServiceName() const /*override*/;
63
64 virtual ::StackRefResult<::Editor::Cursor::ServerCursor> getCursor() const /*override*/;
65
66 virtual ::StackRefResult<::Editor::Cursor::Ray> getRay() const /*override*/;
67
68 virtual ::Scripting::Result_deprecated<::Editor::Cursor::CursorState> getCursorState() const /*override*/;
69
70 virtual ::Scripting::Result_deprecated<::Editor::Cursor::AttachmentProperties> getAttachmentProperties() const
71 /*override*/;
72
73 virtual ::Scripting::Result_deprecated<void> setCursorState(::Editor::Cursor::CursorState&& state) /*override*/;
74
75 virtual ::Scripting::Result_deprecated<void>
76 setAttachmentProperties(::Editor::Cursor::AttachmentProperties&& props) /*override*/;
77
78 virtual ::Scripting::Result_deprecated<::BlockPos> moveBy(::glm::ivec3 const& offset) /*override*/;
79
80 virtual ::Scripting::Result_deprecated<int> getMaxViewBlockDistance() const /*override*/;
81
82 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> listenForCursorStateChanges(
83 ::std::function<void(::Editor::Cursor::CursorState const&, ::Editor::Cursor::CursorState const&)> callback
84 ) /*override*/;
85
86 virtual ::Bedrock::PubSub::Subscription listenForCursorPositionChanges(
87 ::std::function<void(::std::optional<::Editor::Cursor::Position> const&, ::Editor::Cursor::CursorState const&)>
88 callback
89 ) /*override*/;
90
91 virtual ::WeakRef<::Editor::ProjectRegion> getRegion() const /*override*/;
92 // NOLINTEND
93
94public:
95 // member functions
96 // NOLINTBEGIN
97 MCNAPI ::Scripting::Result_deprecated<::WeakRef<::Editor::Cursor::ServerCursor>> _createCursor();
98
99 MCNAPI void _createOrUpdateRegion(::BlockPos const& pos);
100
102
104 // NOLINTEND
105
106public:
107 // destructor thunk
108 // NOLINTBEGIN
109 MCNAPI void $dtor();
110 // NOLINTEND
111
112public:
113 // virtual function thunks
114 // NOLINTBEGIN
115 MCNAPI ::Scripting::Result_deprecated<void> $init();
116
117 MCNAPI ::Scripting::Result_deprecated<void> $ready();
118
119 MCNAPI ::Scripting::Result_deprecated<void> $quit();
120
121 MCNAPI ::std::string_view $getServiceName() const;
122
123 MCNAPI ::StackRefResult<::Editor::Cursor::ServerCursor> $getCursor() const;
124
125 MCNAPI ::StackRefResult<::Editor::Cursor::Ray> $getRay() const;
126
127 MCNAPI ::Scripting::Result_deprecated<::Editor::Cursor::CursorState> $getCursorState() const;
128
129 MCNAPI ::Scripting::Result_deprecated<::Editor::Cursor::AttachmentProperties> $getAttachmentProperties() const;
130
131 MCNAPI ::Scripting::Result_deprecated<void> $setCursorState(::Editor::Cursor::CursorState&& state);
132
133 MCNAPI ::Scripting::Result_deprecated<void>
135
136 MCNAPI ::Scripting::Result_deprecated<::BlockPos> $moveBy(::glm::ivec3 const& offset);
137
138 MCNAPI ::Scripting::Result_deprecated<int> $getMaxViewBlockDistance() const;
139
140 MCNAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> $listenForCursorStateChanges(
141 ::std::function<void(::Editor::Cursor::CursorState const&, ::Editor::Cursor::CursorState const&)> callback
142 );
143
144 MCNAPI ::Bedrock::PubSub::Subscription $listenForCursorPositionChanges(
145 ::std::function<void(::std::optional<::Editor::Cursor::Position> const&, ::Editor::Cursor::CursorState const&)>
146 callback
147 );
148
149 MCNAPI ::WeakRef<::Editor::ProjectRegion> $getRegion() const;
150
151
152 // NOLINTEND
153
154public:
155 // vftables
156 // NOLINTBEGIN
158
159 MCNAPI static void** $vftableForIEditorService();
160 // NOLINTEND
161};
162
163} // namespace Editor::Cursor
Definition Subscription.h:10
Definition BlockPos.h:19
Definition ServerCursorServiceProvider.h:24
MCAPI ::Scripting::Result_deprecated< void > $ready()
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 ::StackRefResult<::Editor::Cursor::Ray > $getRay() const
MCAPI ::Scripting::Result_deprecated< void > $init()
MCAPI ::StackRefResult<::Editor::Cursor::ServerCursor > $getCursor() const
MCAPI void _createOrUpdateRegion(::BlockPos const &pos)
static MCAPI void ** $vftableForServerCursorServiceProvider()
MCAPI ::WeakRef<::Editor::ProjectRegion > $getRegion() 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 &&props)
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 AttachmentProperties.h:7
Definition CursorState.h:12
Definition Position.h:12
Definition Ray.h:12
Definition Alias.h:14