LeviLamina
Loading...
Searching...
No Matches
EditorPlayerCommon.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/editor/IEditorPlayer.h"
7#include "mc/deps/core/utility/AutomaticID.h"
8#include "mc/deps/core/utility/optional_ref.h"
9#include "mc/deps/core/utility/pub_sub/Publisher.h"
10#include "mc/deps/scripting/runtime/Result_deprecated.h"
11#include "mc/editor/serviceproviders/EditorPlayerServiceProvider.h"
12#include "mc/editor/services/EditorServiceList.h"
13#include "mc/world/events/EventListenerDispatcher.h"
14#include "mc/world/events/EventResult.h"
15#include "mc/world/events/PlayerEventListener.h"
16
17// auto generated forward declare list
18// clang-format off
19class Dimension;
20class Player;
23namespace Bedrock::PubSub { class Subscription; }
24namespace Bedrock::PubSub::ThreadModel { struct SingleThreaded; }
25namespace Editor { class ServiceProviderCollection; }
26namespace Editor { struct EditorInitParams; }
27// clang-format on
28
29namespace Editor {
30
31class EditorPlayerCommon : public ::Editor::IEditorPlayer,
34 public ::EventListenerDispatcher<::PlayerEventListener> {
35public:
36 // EditorPlayerCommon inner types define
37 enum class InitializationState : int {
38 Uninitialized = 0,
39 Initializing = 1,
40 Initialized = 2,
41 Readying = 3,
42 Ready = 4,
43 Deinitializing = 5,
44 };
45
46public:
47 // member variables
48 // NOLINTBEGIN
55 // NOLINTEND
56
57public:
58 // prevent constructor by default
59 EditorPlayerCommon& operator=(EditorPlayerCommon const&);
60 EditorPlayerCommon(EditorPlayerCommon const&);
61 EditorPlayerCommon();
62
63public:
64 // virtual functions
65 // NOLINTBEGIN
66 virtual ::EventResult onEvent(::PlayerDimensionChangeAfterEvent const& evt) /*override*/;
67
68 virtual ~EditorPlayerCommon() /*override*/;
69
70 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
71
72 virtual ::Scripting::Result_deprecated<void> ready() /*override*/;
73
74 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
75
76 virtual ::Editor::ServiceProviderCollection& getServiceProviders() /*override*/;
77
78 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription>
79 registerTickSubscriber(::std::function<void(::Editor::ServiceProviderCollection&)> fnTick) /*override*/;
80
81 virtual ::Bedrock::PubSub::Subscription
82 registerDimensionChange(::std::function<void(::DimensionType, ::DimensionType)> fn) /*override*/;
83
84 virtual ::Player* getPlayer() const /*override*/;
85
86 virtual ::optional_ref<::PlayerEventCoordinator> getPlayerEventCoordinator() = 0;
87
88 virtual ::EventResult onPlayerTick(::Player& player) /*override*/;
89
90 virtual void _onTick() /*override*/;
91 // NOLINTEND
92
93public:
94 // member functions
95 // NOLINTBEGIN
96 MCNAPI EditorPlayerCommon(::Player& player, ::gsl::not_null<::Editor::EditorInitParams*> initParams);
97 // NOLINTEND
98
99public:
100 // constructor thunks
101 // NOLINTBEGIN
102 MCNAPI void* $ctor(::Player& player, ::gsl::not_null<::Editor::EditorInitParams*> initParams);
103 // NOLINTEND
104
105public:
106 // destructor thunk
107 // NOLINTBEGIN
108 MCNAPI void $dtor();
109 // NOLINTEND
110
111public:
112 // virtual function thunks
113 // NOLINTBEGIN
114 MCNAPI ::EventResult $onEvent(::PlayerDimensionChangeAfterEvent const& evt);
115
116 MCNAPI ::Scripting::Result_deprecated<void> $init();
117
118 MCNAPI ::Scripting::Result_deprecated<void> $ready();
119
120 MCNAPI ::Scripting::Result_deprecated<void> $quit();
121
122 MCNAPI ::Editor::ServiceProviderCollection& $getServiceProviders();
123
124 MCNAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription>
126
127 MCNAPI ::Bedrock::PubSub::Subscription
128 $registerDimensionChange(::std::function<void(::DimensionType, ::DimensionType)> fn);
129
130 MCNAPI ::Player* $getPlayer() const;
131
132 MCNAPI ::EventResult $onPlayerTick(::Player& player);
133
134 MCNAPI void $_onTick();
135
136
137 // NOLINTEND
138
139public:
140 // vftables
141 // NOLINTBEGIN
142 MCNAPI static void** $vftableForEditorServiceList();
143
145
147
148 MCNAPI static void** $vftableForIEditorPlayer();
149 // NOLINTEND
150};
151
152} // namespace Editor
Definition Subscription.h:10
Definition Dimension.h:86
static MCAPI void ** $vftableForEventListenerDispatcher()
MCAPI ::Scripting::Result_deprecated< void > $quit()
MCAPI EditorPlayerCommon(::Player &player, ::gsl::not_null<::Editor::EditorInitParams * > initParams)
MCAPI ::Scripting::Result_deprecated< void > $init()
MCAPI::Bedrock::PubSub::Subscription $registerDimensionChange(::std::function< void(::DimensionType, ::DimensionType)> fn)
MCAPI::EventResult $onEvent(::PlayerDimensionChangeAfterEvent const &evt)
static MCAPI void ** $vftableForEditorServiceList()
MCAPI void * $ctor(::Player &player, ::gsl::not_null<::Editor::EditorInitParams * > initParams)
static MCAPI void ** $vftableForEditorPlayerServiceProvider()
MCAPI::EventResult $onPlayerTick(::Player &player)
MCAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription > $registerTickSubscriber(::std::function< void(::Editor::ServiceProviderCollection &)> fnTick)
MCAPI ::Scripting::Result_deprecated< void > $ready()
MCAPI::Editor::ServiceProviderCollection & $getServiceProviders()
MCAPI::Player * $getPlayer() const
static MCAPI void ** $vftableForIEditorPlayer()
Definition EditorPlayerServiceProvider.h:19
Definition IEditorPlayer.h:16
Definition ServiceProviderCollection.h:7
Definition EditorServiceList.h:16
Definition EventListenerDispatcher.h:6
Definition PlayerEventCoordinator.h:22
Definition Player.h:129
Definition EditorInitParams.h:7
Definition PlayerDimensionChangeAfterEvent.h:16
Definition Alias.h:14