LeviLamina
Loading...
Searching...
No Matches
ServerCursorServiceProvider.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
10// auto generated forward declare list
11// clang-format off
12class BlockPos;
13namespace Bedrock::PubSub { class Subscription; }
14namespace Editor { class ProjectRegion; }
15namespace Editor::Cursor { class ServerCursor; }
16namespace Editor::Cursor { struct AttachmentProperties; }
17namespace Editor::Cursor { struct CursorState; }
18namespace Editor::Cursor { struct Position; }
19namespace Editor::Cursor { struct Ray; }
20// clang-format on
21
22namespace Editor::Cursor {
23
25public:
26 // virtual functions
27 // NOLINTBEGIN
28 virtual ~ServerCursorServiceProvider() = default;
29
30 virtual ::StackRefResult<::Editor::Cursor::ServerCursor> getCursor() const = 0;
31
32 virtual ::StackRefResult<::Editor::Cursor::Ray> getRay() const = 0;
33
34 virtual ::Scripting::Result_deprecated<::Editor::Cursor::CursorState> getCursorState() const = 0;
35
36 virtual ::Scripting::Result_deprecated<::Editor::Cursor::AttachmentProperties> getAttachmentProperties() const = 0;
37
38 virtual ::Scripting::Result_deprecated<void> setCursorState(::Editor::Cursor::CursorState&& state) = 0;
39
40 virtual ::Scripting::Result_deprecated<void>
41 setAttachmentProperties(::Editor::Cursor::AttachmentProperties&& props) = 0;
42
43 virtual ::Scripting::Result_deprecated<::BlockPos> moveBy(::glm::ivec3 const& offset) = 0;
44
45 virtual ::Scripting::Result_deprecated<int> getMaxViewBlockDistance() const = 0;
46
47 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> listenForCursorStateChanges(
48 ::std::function<void(::Editor::Cursor::CursorState const&, ::Editor::Cursor::CursorState const&)>
49 ) = 0;
50
51 virtual ::Bedrock::PubSub::Subscription listenForCursorPositionChanges(
52 ::std::function<void(::std::optional<::Editor::Cursor::Position> const&, ::Editor::Cursor::CursorState const&)>
53 ) = 0;
54
55 virtual ::WeakRef<::Editor::ProjectRegion> getRegion() const = 0;
56 // NOLINTEND
57
58public:
59 // virtual function thunks
60 // NOLINTBEGIN
61
62 // NOLINTEND
63};
64
65} // namespace Editor::Cursor
Definition Subscription.h:10
Definition BlockPos.h:19
Definition ServerCursorServiceProvider.h:24
Definition ServerCursor.h:22
Definition ProjectRegion.h:27
Definition AttachmentProperties.h:7
Definition CursorState.h:12
Definition Position.h:12
Definition Ray.h:12