LeviLamina
Loading...
Searching...
No Matches
EditorPlaytestManagerService.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/services/IEditorService.h"
8#include "mc/editor/services/playtest/SessionResult.h"
9#include "mc/server/editor/serviceproviders/EditorPlayerPlaytestServiceProvider.h"
10#include "mc/server/editor/serviceproviders/EditorPlaytestManagerServiceProvider.h"
11
12// auto generated forward declare list
13// clang-format off
14class WeakEntityRef;
15namespace Editor { class GameOptions; }
16namespace Editor { class ServiceProviderCollection; }
17namespace Editor::Network { class PlaytestBeginSessionTransferResponsePayload; }
18namespace mce { class UUID; }
19// clang-format on
20
21namespace Editor::Services {
22
23class EditorPlaytestManagerService : public ::Editor::Services::IEditorService,
26public:
27 // EditorPlaytestManagerService inner types declare
28 // clang-format off
29 struct PlayerSessionInfo;
30 // clang-format on
31
32 // EditorPlaytestManagerService inner types define
33 enum class SessionState : int {
34 Idle = 0,
35 Archiving = 1,
36 ArchiveComplete = 2,
37 AwaitingTransferResponse = 3,
38 ExecutingTransfer = 4,
39 ReturningToEditor = 5,
40 };
41
42 struct PlayerSessionInfo {
43 public:
44 // member variables
45 // NOLINTBEGIN
53 // NOLINTEND
54
55 public:
56 // prevent constructor by default
57 PlayerSessionInfo& operator=(PlayerSessionInfo const&);
58 PlayerSessionInfo(PlayerSessionInfo const&);
59 PlayerSessionInfo();
60
61 public:
62 // member functions
63 // NOLINTBEGIN
65 // NOLINTEND
66
67 public:
68 // destructor thunk
69 // NOLINTBEGIN
70 MCNAPI void $dtor();
71 // NOLINTEND
72 };
73
74public:
75 // member variables
76 // NOLINTBEGIN
78 // NOLINTEND
79
80public:
81 // prevent constructor by default
82 EditorPlaytestManagerService& operator=(EditorPlaytestManagerService const&);
83 EditorPlaytestManagerService(EditorPlaytestManagerService const&);
84 EditorPlaytestManagerService();
85
86public:
87 // virtual functions
88 // NOLINTBEGIN
89 virtual ~EditorPlaytestManagerService() /*override*/;
90
91 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
92
93 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
94
95 virtual ::std::string_view getServiceName() const /*override*/;
96
97 virtual ::Editor::Playtest::SessionResult getPlaytestSessionAvailability(::WeakEntityRef playerRef) /*override*/;
98
99 virtual void beginPlaytestSession(
100 ::WeakEntityRef playerRef,
101 ::Editor::GameOptions const& options,
102 ::std::function<void(::Editor::Playtest::SessionResult const&)> callback
103 ) /*override*/;
104
105 virtual void _handlePlayersSessionTransferResponse(
106 ::WeakEntityRef playerRef,
107 ::Editor::Network::PlaytestBeginSessionTransferResponsePayload const& payload
108 ) /*override*/;
109 // NOLINTEND
110
111public:
112 // member functions
113 // NOLINTBEGIN
114 MCNAPI explicit EditorPlaytestManagerService(::Editor::ServiceProviderCollection& providers);
115
116 MCNAPI ::Editor::Services::EditorPlaytestManagerService::PlayerSessionInfo*
117 _createSessionInfo(::mce::UUID const& clientUUID);
118 // NOLINTEND
119
120public:
121 // constructor thunks
122 // NOLINTBEGIN
123 MCNAPI void* $ctor(::Editor::ServiceProviderCollection& providers);
124 // NOLINTEND
125
126public:
127 // destructor thunk
128 // NOLINTBEGIN
129 MCNAPI void $dtor();
130 // NOLINTEND
131
132public:
133 // virtual function thunks
134 // NOLINTBEGIN
135 MCNAPI ::Scripting::Result_deprecated<void> $init();
136
137 MCNAPI ::Scripting::Result_deprecated<void> $quit();
138
139 MCNAPI ::std::string_view $getServiceName() const;
140
141 MCNAPI ::Editor::Playtest::SessionResult $getPlaytestSessionAvailability(::WeakEntityRef playerRef);
142
144 ::WeakEntityRef playerRef,
145 ::Editor::GameOptions const& options,
146 ::std::function<void(::Editor::Playtest::SessionResult const&)> callback
147 );
148
150 ::WeakEntityRef playerRef,
151 ::Editor::Network::PlaytestBeginSessionTransferResponsePayload const& payload
152 );
153
154
155 // NOLINTEND
156
157public:
158 // vftables
159 // NOLINTBEGIN
160 MCNAPI static void** $vftableForIEditorService();
161
163
165 // NOLINTEND
166};
167
168} // namespace Editor::Services
Definition GameOptions.h:15
Definition PlaytestBeginSessionTransferResponsePayload.h:16
Definition ServiceProviderCollection.h:7
Definition EditorPlayerPlaytestServiceProvider.h:17
Definition EditorPlaytestManagerServiceProvider.h:7
static MCAPI void ** $vftableForEditorPlaytestManagerServiceProvider()
MCAPI::Editor::Playtest::SessionResult $getPlaytestSessionAvailability(::WeakEntityRef playerRef)
MCAPI ::Scripting::Result_deprecated< void > $init()
static MCAPI void ** $vftableForEditorPlayerPlaytestServiceProvider()
MCAPI void * $ctor(::Editor::ServiceProviderCollection &providers)
MCAPI ::Scripting::Result_deprecated< void > $quit()
MCAPI::std::string_view $getServiceName() const
MCAPI void $beginPlaytestSession(::WeakEntityRef playerRef, ::Editor::GameOptions const &options, ::std::function< void(::Editor::Playtest::SessionResult const &)> callback)
MCAPI void $_handlePlayersSessionTransferResponse(::WeakEntityRef playerRef, ::Editor::Network::PlaytestBeginSessionTransferResponsePayload const &payload)
MCAPI::Editor::Services::EditorPlaytestManagerService::PlayerSessionInfo * _createSessionInfo(::mce::UUID const &clientUUID)
Definition IEditorService.h:11
Definition WeakEntityRef.h:14
Definition UUID.h:7
STL namespace.
Definition EditorPlaytestManagerService.h:42
Definition Alias.h:14