Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
ServerPrefabPlayerService.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/game_refs/WeakRef.h"
7#include "mc/deps/script_core/runtime/scripting/Result_deprecated.h"
8#include "mc/editor/services/IEditorService.h"
9#include "mc/editor/services/PayloadStoreHelper.h"
10#include "mc/server/editor/serviceproviders/ServerPrefabPlayerServiceProvider.h"
11
12// auto generated forward declare list
13// clang-format off
14class Vec3;
15namespace Bedrock::PubSub { class Subscription; }
16namespace Editor { class ServiceProviderCollection; }
17namespace Editor::Network { class PrefabDBClientInitializedPayload; }
18namespace Editor::Network { class PrefabDBClientPlayerPositionUpdatePayload; }
19namespace Editor::Network { class PrefabDBClientUserClickInstancePayload; }
20namespace Editor::Prefabs { class PrefabDBPrefabInstance; }
21namespace Editor::Prefabs { struct PrefabDBInstanceChangeEvent; }
22namespace Editor::Prefabs { struct PrefabDBInstanceInteractionEvent; }
23namespace Editor::Prefabs { struct PrefabDBTemplateChangeEvent; }
24namespace mce { class UUID; }
25// clang-format on
26
27namespace Editor::Services {
28
29class ServerPrefabPlayerService : public ::Editor::Services::IEditorService,
32public:
33 // ServerPrefabPlayerService inner types declare
34 // clang-format off
36 // clang-format on
37
38 // ServerPrefabPlayerService inner types define
39 struct InstancePositionValidation {
40 public:
41 // member variables
42 // NOLINTBEGIN
45 // NOLINTEND
46
47 public:
48 // prevent constructor by default
49 InstancePositionValidation& operator=(InstancePositionValidation const&);
50 InstancePositionValidation(InstancePositionValidation const&);
51 InstancePositionValidation();
52 };
53
54public:
55 // member variables
56 // NOLINTBEGIN
71 // NOLINTEND
72
73public:
74 // prevent constructor by default
75 ServerPrefabPlayerService& operator=(ServerPrefabPlayerService const&);
76 ServerPrefabPlayerService(ServerPrefabPlayerService const&);
77 ServerPrefabPlayerService();
78
79public:
80 // virtual functions
81 // NOLINTBEGIN
82 virtual ~ServerPrefabPlayerService() /*override*/ = default;
83
84 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
85
86 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
87
88 virtual ::std::string_view getServiceName() const /*override*/;
89
90 virtual void shouldCaptureMouseClicks(bool const active) /*override*/;
91
92 virtual ::Bedrock::PubSub::Subscription subscribeToPlayerInstanceInteractions(
93 ::std::function<void(::Editor::Prefabs::PrefabDBInstanceInteractionEvent const&)> callback
94 ) /*override*/;
95
96 virtual void
97 selectInstance(::WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance> instanceRef, bool append) /*override*/;
98
99 virtual void deselectInstance(::WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance> instanceRef) /*override*/;
100
101 virtual void clearSelectedInstances() /*override*/;
102
103 virtual void findInstancesOfTemplate(
104 ::mce::UUID const& templateId,
105 ::std::vector<::WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance>>& outInstances
106 ) /*override*/;
107 // NOLINTEND
108
109public:
110 // member functions
111 // NOLINTBEGIN
112 MCNAPI explicit ServerPrefabPlayerService(::Editor::ServiceProviderCollection& providers);
113
114 MCNAPI void _handleClientInitializedPayload(::Editor::Network::PrefabDBClientInitializedPayload const& payload);
115
117 ::Editor::Network::PrefabDBClientPlayerPositionUpdatePayload const& payload
118 );
119
120 MCNAPI void
121 _handleClientUserClickInstancePayload(::Editor::Network::PrefabDBClientUserClickInstancePayload const& payload);
122
123 MCNAPI void _handlePrefabDBInstanceChange(::Editor::Prefabs::PrefabDBInstanceChangeEvent const& event);
124
125 MCNAPI void _handlePrefabDBTemplateChange(::Editor::Prefabs::PrefabDBTemplateChangeEvent const& event);
126
128
130
131 MCNAPI ::Editor::Services::ServerPrefabPlayerService::InstancePositionValidation _validateInstancePosition(
132 ::Editor::Prefabs::PrefabDBPrefabInstance const& instance,
133 ::Vec3 const& newPosition
134 ) const;
135 // NOLINTEND
136
137public:
138 // constructor thunks
139 // NOLINTBEGIN
140 MCNAPI void* $ctor(::Editor::ServiceProviderCollection& providers);
141 // NOLINTEND
142
143public:
144 // virtual function thunks
145 // NOLINTBEGIN
146 MCNAPI ::Scripting::Result_deprecated<void> $init();
147
148 MCNAPI ::Scripting::Result_deprecated<void> $quit();
149
150 MCNAPI ::std::string_view $getServiceName() const;
151
152 MCNAPI void $shouldCaptureMouseClicks(bool const active);
153
154 MCNAPI ::Bedrock::PubSub::Subscription $subscribeToPlayerInstanceInteractions(
155 ::std::function<void(::Editor::Prefabs::PrefabDBInstanceInteractionEvent const&)> callback
156 );
157
158 MCNAPI void $selectInstance(::WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance> instanceRef, bool append);
159
160 MCNAPI void $deselectInstance(::WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance> instanceRef);
161
163
165 ::mce::UUID const& templateId,
166 ::std::vector<::WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance>>& outInstances
167 );
168
169
170 // NOLINTEND
171
172public:
173 // vftables
174 // NOLINTBEGIN
175 MCNAPI static void** $vftableForIEditorService();
176
178 // NOLINTEND
179};
180
181} // namespace Editor::Services
Definition Subscription.h:10
Definition PrefabDBClientInitializedPayload.h:16
Definition PrefabDBClientPlayerPositionUpdatePayload.h:16
Definition PrefabDBClientUserClickInstancePayload.h:16
Definition PrefabDBPrefabInstance.h:24
Definition ServerPrefabPlayerServiceProvider.h:18
Definition ServiceProviderCollection.h:7
Definition IEditorService.h:11
Definition PayloadStoreHelper.h:7
MCAPI void $selectInstance(::WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance > instanceRef, bool append)
MCAPI ::Scripting::Result_deprecated< void > $quit()
static MCAPI void ** $vftableForIEditorService()
MCAPI void _handleClientInitializedPayload(::Editor::Network::PrefabDBClientInitializedPayload const &payload)
MCAPI::std::string_view $getServiceName() const
MCAPI void _handlePrefabDBInstanceChange(::Editor::Prefabs::PrefabDBInstanceChangeEvent const &event)
MCAPI void _handleClientUserClickInstancePayload(::Editor::Network::PrefabDBClientUserClickInstancePayload const &payload)
MCAPI::Bedrock::PubSub::Subscription $subscribeToPlayerInstanceInteractions(::std::function< void(::Editor::Prefabs::PrefabDBInstanceInteractionEvent const &)> callback)
MCAPI void _handleClientPlayerPositionUpdatePayload(::Editor::Network::PrefabDBClientPlayerPositionUpdatePayload const &payload)
MCAPI::Editor::Services::ServerPrefabPlayerService::InstancePositionValidation _validateInstancePosition(::Editor::Prefabs::PrefabDBPrefabInstance const &instance, ::Vec3 const &newPosition) const
MCAPI void $deselectInstance(::WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance > instanceRef)
static MCAPI void ** $vftableForServerPrefabPlayerServiceProvider()
MCAPI ::Scripting::Result_deprecated< void > $init()
MCAPI void $findInstancesOfTemplate(::mce::UUID const &templateId, ::std::vector<::WeakRef<::Editor::Prefabs::PrefabDBPrefabInstance > > &outInstances)
MCAPI void * $ctor(::Editor::ServiceProviderCollection &providers)
MCAPI void $shouldCaptureMouseClicks(bool const active)
MCAPI void _handlePrefabDBTemplateChange(::Editor::Prefabs::PrefabDBTemplateChangeEvent const &event)
Definition Vec3.h:10
Definition WeakRef.h:8
Definition UUID.h:8
STL namespace.
Definition PrefabDBInstanceChangeEvent.h:7
Definition PrefabDBInstanceInteractionEvent.h:7
Definition PrefabDBTemplateChangeEvent.h:7
Definition Alias.h:14