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;
13class HashedString;
14namespace Bedrock::PubSub { class Subscription; }
15namespace Editor { class ProjectRegion; }
16namespace Editor::Cursor { class ServerCursor; }
17namespace Editor::Cursor { struct AttachmentProperties; }
18namespace Editor::Cursor { struct CursorState; }
19namespace Editor::Cursor { struct Position; }
20namespace Editor::Cursor { struct Ray; }
21// clang-format on
22
23namespace Editor::Cursor {
24
26public:
27 // virtual functions
28 // NOLINTBEGIN
29 virtual ~ServerCursorServiceProvider() = default;
30
31 virtual ::StackRefResult<::Editor::Cursor::ServerCursor> getCursor() const = 0;
32
33 virtual ::StackRefResult<::Editor::Cursor::Ray> getRay() const = 0;
34
35 virtual ::Scripting::Result_deprecated<::Editor::Cursor::CursorState> getCursorState() const = 0;
36
37 virtual ::Scripting::Result_deprecated<::Editor::Cursor::AttachmentProperties> getAttachmentProperties() const = 0;
38
39 virtual ::Scripting::Result_deprecated<void> setCursorState(::Editor::Cursor::CursorState&& state) = 0;
40
41 virtual ::Scripting::Result_deprecated<void>
42 setAttachmentProperties(::Editor::Cursor::AttachmentProperties&& properties) = 0;
43
44 virtual ::Scripting::Result_deprecated<::BlockPos> moveBy(::glm::ivec3 const& offset) = 0;
45
46 virtual ::Scripting::Result_deprecated<int> getMaxViewBlockDistance() const = 0;
47
48 virtual ::Editor::Cursor::CursorState getDefaultProperties() const = 0;
49
50 virtual ::Scripting::Result_deprecated<void>
51 pushCursorStateById(::Editor::Cursor::CursorState const& state, ::HashedString const& identifier) = 0;
52
53 virtual ::Scripting::Result_deprecated<void> popCursorStateById(::HashedString const& identifier) = 0;
54
55 virtual ::Scripting::Result_deprecated<void> updateCursorStateById(
57 ::std::optional<::HashedString> const identifier
58 ) = 0;
59
60 virtual ::Scripting::Result_deprecated<::Editor::Cursor::CursorState>
61 getCursorStateById(::std::optional<::HashedString> const& identifier) = 0;
62
63 virtual ::std::optional<::HashedString> const& getActiveCursorStateId() const = 0;
64
65 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> listenForCursorStateChanges(
66 ::std::function<void(::Editor::Cursor::CursorState const&, ::Editor::Cursor::CursorState const&)> callback
67 ) = 0;
68
69 virtual ::Bedrock::PubSub::Subscription listenForCursorPositionChanges(
70 ::std::function<void(::std::optional<::Editor::Cursor::Position> const&, ::Editor::Cursor::CursorState const&)>
71 callback
72 ) = 0;
73
74 virtual ::WeakRef<::Editor::ProjectRegion> getRegion() const = 0;
75 // NOLINTEND
76
77public:
78 // virtual function thunks
79 // NOLINTBEGIN
80
81 // NOLINTEND
82};
83
84} // namespace Editor::Cursor
Definition Subscription.h:10
Definition BlockPos.h:21
Definition ServerCursorServiceProvider.h:25
Definition ServerCursor.h:21
Definition ProjectRegion.h:28
Definition HashedString.h:5
Definition AttachmentProperties.h:7
Definition CursorState.h:12
Definition Position.h:12
Definition Ray.h:12