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.h"
9#include "mc/deps/scripting/runtime/Result_deprecated.h"
10#include "mc/editor/services/IEditorService.h"
11#include "mc/editor/services/PayloadStoreHelper.h"
12#include "mc/server/editor/serviceproviders/ServerCursorServiceProvider.h"
13
14// auto generated forward declare list
15// clang-format off
16class BlockPos;
17namespace Bedrock::PubSub { class Subscription; }
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; }
24// clang-format on
25
26namespace Editor::Cursor {
27
31public:
32 // member variables
33 // NOLINTBEGIN
40 // NOLINTEND
41
42public:
43 // prevent constructor by default
47
48public:
49 // virtual functions
50 // NOLINTBEGIN
51 // vIndex: 0
52 virtual ~ServerCursorService() /*override*/;
53
54 // vIndex: 1
55 virtual ::Scripting::Result<void> init() /*override*/;
56
57 // vIndex: 2
58 virtual ::Scripting::Result<void> ready() /*override*/;
59
60 // vIndex: 3
61 virtual ::Scripting::Result<void> quit() /*override*/;
62
63 // vIndex: 4
64 virtual ::std::string_view getServiceName() const /*override*/;
65
66 // vIndex: 1
67 virtual ::StackRefResult<::Editor::Cursor::ServerCursor> getCursor() const /*override*/;
68
69 // vIndex: 2
70 virtual ::StackRefResult<::Editor::Cursor::Ray> getRay() const /*override*/;
71
72 // vIndex: 3
73 virtual ::Scripting::Result_deprecated<::Editor::Cursor::CursorState> getCursorState() const /*override*/;
74
75 // vIndex: 4
76 virtual ::Scripting::Result_deprecated<::Editor::Cursor::AttachmentProperties> getAttachmentProperties() const
77 /*override*/;
78
79 // vIndex: 5
80 virtual ::Scripting::Result<void> setCursorState(::Editor::Cursor::CursorState&& state) /*override*/;
81
82 // vIndex: 6
83 virtual ::Scripting::Result<void> setAttachmentProperties(::Editor::Cursor::AttachmentProperties&& props
84 ) /*override*/;
85
86 // vIndex: 7
87 virtual ::Scripting::Result_deprecated<::BlockPos> moveBy(::glm::ivec3 const& offset) /*override*/;
88
89 // vIndex: 8
90 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> listenForCursorStateChanges(
91 ::std::function<void(::Editor::Cursor::CursorState const&, ::Editor::Cursor::CursorState const&)> callback
92 ) /*override*/;
93
94 // vIndex: 9
95 virtual ::Bedrock::PubSub::Subscription listenForCursorPositionChanges(
96 ::std::function<void(::std::optional<::Editor::Cursor::Position> const&, ::Editor::Cursor::CursorState const&)>
97 callback
98 ) /*override*/;
99 // NOLINTEND
100
101public:
102 // member functions
103 // NOLINTBEGIN
104 MCAPI ::Scripting::Result_deprecated<::WeakRef<::Editor::Cursor::ServerCursor>> _createCursor();
105
106 MCAPI void _handlePayloadPositionChange(::Editor::Network::CursorServicePositionChangePayload const& payload);
107 // NOLINTEND
108
109public:
110 // destructor thunk
111 // NOLINTBEGIN
112 MCAPI void $dtor();
113 // NOLINTEND
114
115public:
116 // virtual function thunks
117 // NOLINTBEGIN
118 MCAPI ::Scripting::Result<void> $init();
119
120 MCAPI ::Scripting::Result<void> $ready();
121
122 MCAPI ::Scripting::Result<void> $quit();
123
124 MCAPI ::std::string_view $getServiceName() const;
125
126 MCAPI ::StackRefResult<::Editor::Cursor::ServerCursor> $getCursor() const;
127
128 MCAPI ::StackRefResult<::Editor::Cursor::Ray> $getRay() const;
129
130 MCAPI ::Scripting::Result_deprecated<::Editor::Cursor::CursorState> $getCursorState() const;
131
132 MCAPI ::Scripting::Result_deprecated<::Editor::Cursor::AttachmentProperties> $getAttachmentProperties() const;
133
134 MCAPI ::Scripting::Result<void> $setCursorState(::Editor::Cursor::CursorState&& state);
135
136 MCAPI ::Scripting::Result<void> $setAttachmentProperties(::Editor::Cursor::AttachmentProperties&& props);
137
138 MCAPI ::Scripting::Result_deprecated<::BlockPos> $moveBy(::glm::ivec3 const& offset);
139
140 MCAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> $listenForCursorStateChanges(
141 ::std::function<void(::Editor::Cursor::CursorState const&, ::Editor::Cursor::CursorState const&)> callback
142 );
143
144 MCAPI ::Bedrock::PubSub::Subscription $listenForCursorPositionChanges(
145 ::std::function<void(::std::optional<::Editor::Cursor::Position> const&, ::Editor::Cursor::CursorState const&)>
146 callback
147 );
148 // NOLINTEND
149
150public:
151 // vftables
152 // NOLINTBEGIN
153 MCAPI static void** $vftableForServerCursorServiceProvider();
154
155 MCAPI static void** $vftableForIEditorService();
156 // NOLINTEND
157};
158
159} // namespace Editor::Cursor
Definition BlockPos.h:18
Definition ServerCursorServiceProvider.h:23
Definition ServerCursorService.h:30
Definition CursorServicePositionChangePayload.h:11
Definition IEditorService.h:11
Definition PayloadStoreHelper.h:7
Definition AttachmentProperties.h:7
Definition CursorState.h:12
Definition Alias.h:14