LeviLamina
Loading...
Searching...
No Matches
ModeService.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/scripting/runtime/Result_deprecated.h"
7#include "mc/editor/Mode.h"
8#include "mc/editor/serviceproviders/ModeServiceProvider.h"
9#include "mc/editor/services/IEditorService.h"
10
11// auto generated forward declare list
12// clang-format off
13namespace Bedrock::PubSub { class Subscription; }
14namespace Editor { class ServiceProviderCollection; }
15namespace Editor::Network { class ModeChangedPayload; }
16// clang-format on
17
18namespace Editor::Services {
19
21public:
22 // member variables
23 // NOLINTBEGIN
27 // NOLINTEND
28
29public:
30 // prevent constructor by default
31 ModeService& operator=(ModeService const&);
32 ModeService(ModeService const&);
33 ModeService();
34
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 virtual ~ModeService() /*override*/;
39
40 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
41
42 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
43
44 virtual ::Editor::Mode getMode() const /*override*/;
45
46 virtual ::Scripting::Result_deprecated<void> trySetMode(::Editor::Mode newMode) /*override*/;
47
48 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription>
49 listenForModeChange(::std::function<void(::Editor::Mode, ::Editor::Mode)> func) /*override*/;
50
51 virtual ::Scripting::Result_deprecated<void> _doSwitchMode(::Editor::Mode newMode) = 0;
52
53 virtual void _handleModeChangedPayload(::Editor::Network::ModeChangedPayload const& payload) = 0;
54 // NOLINTEND
55
56public:
57 // member functions
58 // NOLINTBEGIN
60
61 MCNAPI void _dispatchModeChangedEvent(::Editor::Mode from, ::Editor::Mode to);
62
63 MCNAPI void _setCurrentMode(::Editor::Mode mode);
64 // NOLINTEND
65
66public:
67 // constructor thunks
68 // NOLINTBEGIN
70 // NOLINTEND
71
72public:
73 // destructor thunk
74 // NOLINTBEGIN
75 MCNAPI void $dtor();
76 // NOLINTEND
77
78public:
79 // virtual function thunks
80 // NOLINTBEGIN
81 MCNAPI ::Scripting::Result_deprecated<void> $init();
82
83 MCNAPI ::Scripting::Result_deprecated<void> $quit();
84
85 MCNAPI ::Editor::Mode $getMode() const;
86
87 MCNAPI ::Scripting::Result_deprecated<void> $trySetMode(::Editor::Mode newMode);
88
89 MCNAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription>
90 $listenForModeChange(::std::function<void(::Editor::Mode, ::Editor::Mode)> func);
91
92
93 // NOLINTEND
94
95public:
96 // vftables
97 // NOLINTBEGIN
98 MCNAPI static void** $vftableForModeServiceProvider();
99
100 MCNAPI static void** $vftableForIEditorService();
101 // NOLINTEND
102};
103
104} // namespace Editor::Services
Definition Subscription.h:10
Definition ModeChangedPayload.h:16
Definition ServiceProviderCollection.h:7
Definition IEditorService.h:11
Definition ModeServiceProvider.h:16
MCAPI ::Scripting::Result_deprecated< void > $quit()
MCAPI ModeService(::Editor::ServiceProviderCollection &providers)
MCAPI void _dispatchModeChangedEvent(::Editor::Mode from, ::Editor::Mode to)
MCAPI void _setCurrentMode(::Editor::Mode mode)
MCAPI ::Scripting::Result_deprecated< void > $trySetMode(::Editor::Mode newMode)
MCAPI void * $ctor(::Editor::ServiceProviderCollection &providers)
MCAPI ::Scripting::Result_deprecated< void > $init()
static MCAPI void ** $vftableForModeServiceProvider()
static MCAPI void ** $vftableForIEditorService()
MCAPI::Editor::Mode $getMode() const
MCAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription > $listenForModeChange(::std::function< void(::Editor::Mode, ::Editor::Mode)> func)
Definition Alias.h:14