LeviLamina
Loading...
Searching...
No Matches
ScriptFormPromiseTracker.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/deps/core/utility/pub_sub/Subscription.h"
8#include "mc/deps/scripting/lifetime_registry/StrongTypedObjectHandle.h"
9#include "mc/deps/scripting/script_engine/Promise.h"
10#include "mc/network/NetworkIdentifier.h"
11#include "mc/world/events/EventListenerDispatcher.h"
12#include "mc/world/events/EventResult.h"
13#include "mc/world/events/LevelEventListener.h"
14#include "mc/world/events/PlayerEventListener.h"
15
16// auto generated forward declare list
17// clang-format off
19class Player;
26namespace Json { class Value; }
27namespace ScriptModuleMinecraftServerUI { class ScriptActionFormResponse; }
28namespace ScriptModuleMinecraftServerUI { class ScriptFormRejectError; }
29namespace ScriptModuleMinecraftServerUI { class ScriptMessageFormResponse; }
30namespace ScriptModuleMinecraftServerUI { class ScriptMessageFormResponseV2; }
31namespace ScriptModuleMinecraftServerUI { class ScriptModalFormResponse; }
32namespace ScriptModuleMinecraftServerUI { class ScriptModalFormResponseV2; }
33// clang-format on
34
35class ScriptFormPromiseTracker : public ::Bedrock::EnableNonOwnerReferences,
36 public ::EventListenerDispatcher<::PlayerEventListener>,
37 public ::EventListenerDispatcher<::LevelEventListener> {
38public:
39 // ScriptFormPromiseTracker inner types declare
40 // clang-format off
41 struct FromRequest;
42 // clang-format on
43
44 // ScriptFormPromiseTracker inner types define
85
86public:
87 // member variables
88 // NOLINTBEGIN
89 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mReloadSub;
90 ::ll::TypedStorage<8, 8, ::LevelEventCoordinator&> mLevelEventCoordinator;
91 ::ll::TypedStorage<8, 8, ::ServerPlayerEventCoordinator&> mPlayerEventCoordinator;
92 ::ll::TypedStorage<4, 4, uint> mLastRequestId;
93 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint, ::ScriptFormPromiseTracker::FromRequest>> mFormRequests;
94 // NOLINTEND
95
96public:
97 // prevent constructor by default
98 ScriptFormPromiseTracker& operator=(ScriptFormPromiseTracker const&);
99 ScriptFormPromiseTracker(ScriptFormPromiseTracker const&);
100 ScriptFormPromiseTracker();
101
102public:
103 // virtual functions
104 // NOLINTBEGIN
105 virtual ~ScriptFormPromiseTracker() /*override*/;
106
107 virtual ::EventResult onEvent(::PlayerFormResponseEvent const& formResponseEvent) /*override*/;
108
109 virtual ::EventResult onEvent(::PlayerFormCloseEvent const& formCloseEvent) /*override*/;
110
111 virtual ::EventResult onEvent(::PlayerDataDrivenScreenClosedEvent const& formResponseEvent) /*override*/;
112
113 virtual ::EventResult onLevelRemovedPlayer(::Player& player) /*override*/;
114 // NOLINTEND
115
116public:
117 // member functions
118 // NOLINTBEGIN
121 ::LevelEventCoordinator& levelEventCoordinator,
122 ::ServerPlayerEventCoordinator& playerEventCooordinator
123 );
124
125 MCNAPI void handleFormClose(::PlayerFormCloseEvent const& formResponse);
126
127 MCNAPI void handleFormResponse(uint formId, ::Json::Value const& formResponse);
128
129 MCNAPI void handlePlayerQuit(::NetworkIdentifier const& playerId);
130
131 MCNAPI void rejectAll();
132
134 ::Player const& player,
135 ::std::string const& screenId,
136 ::std::optional<uint> dataInstanceId,
137 ::std::shared_ptr<::DataDrivenScreenPromise> promise
138 );
139 // NOLINTEND
140
141public:
142 // static functions
143 // NOLINTBEGIN
144 MCNAPI static ::NetworkIdentifier _getPlayerNetworkId(::Player const& player);
145
146 MCNAPI static void _sendToClient(::Player const& player, ::Json::Value formJson, uint formId);
147 // NOLINTEND
148
149public:
150 // constructor thunks
151 // NOLINTBEGIN
152 MCNAPI void* $ctor(
154 ::LevelEventCoordinator& levelEventCoordinator,
155 ::ServerPlayerEventCoordinator& playerEventCooordinator
156 );
157 // NOLINTEND
158
159public:
160 // destructor thunk
161 // NOLINTBEGIN
162 MCNAPI void $dtor();
163 // NOLINTEND
164
165public:
166 // virtual function thunks
167 // NOLINTBEGIN
168 MCNAPI ::EventResult $onEvent(::PlayerFormResponseEvent const& formResponseEvent);
169
170 MCNAPI ::EventResult $onEvent(::PlayerFormCloseEvent const& formCloseEvent);
171
172 MCNAPI ::EventResult $onEvent(::PlayerDataDrivenScreenClosedEvent const& formResponseEvent);
173
174 MCNAPI ::EventResult $onLevelRemovedPlayer(::Player& player);
175
176
177 // NOLINTEND
178
179public:
180 // vftables
181 // NOLINTBEGIN
183
185
187 // NOLINTEND
188};
Definition EnableNonOwnerReferences.h:7
Definition EventListenerDispatcher.h:6
Definition Value.h:16
Definition LevelEventCoordinator.h:27
Definition NetworkIdentifier.h:10
Definition Player.h:136
static MCAPI ::NetworkIdentifier _getPlayerNetworkId(::Player const &player)
static MCAPI void _sendToClient(::Player const &player, ::Json::Value formJson, uint formId)
MCAPI::EventResult $onLevelRemovedPlayer(::Player &player)
MCAPI::EventResult $onEvent(::PlayerDataDrivenScreenClosedEvent const &formResponseEvent)
MCAPI void handleFormResponse(uint formId, ::Json::Value const &formResponse)
static MCAPI void ** $vftableForEnableNonOwnerReferences()
MCAPI void showDataDrivenScreenToPlayer(::Player const &player, ::std::string const &screenId, ::std::optional< uint > dataInstanceId, ::std::shared_ptr<::DataDrivenScreenPromise > promise)
static MCAPI void ** $vftableForEventListenerDispatcherPlayerEventListener()
MCAPI::EventResult $onEvent(::PlayerFormResponseEvent const &formResponseEvent)
MCAPI void handlePlayerQuit(::NetworkIdentifier const &playerId)
MCAPI void * $ctor(::ServerScriptManagerEvents &events, ::LevelEventCoordinator &levelEventCoordinator, ::ServerPlayerEventCoordinator &playerEventCooordinator)
static MCAPI void ** $vftableForEventListenerDispatcherLevelEventListener()
MCAPI void handleFormClose(::PlayerFormCloseEvent const &formResponse)
MCAPI::EventResult $onEvent(::PlayerFormCloseEvent const &formCloseEvent)
MCAPI ScriptFormPromiseTracker(::ServerScriptManagerEvents &events, ::LevelEventCoordinator &levelEventCoordinator, ::ServerPlayerEventCoordinator &playerEventCooordinator)
Definition ScriptActionFormResponse.h:15
Definition ScriptFormRejectError.h:16
Definition ScriptMessageFormResponseV2.h:15
Definition ScriptMessageFormResponse.h:15
Definition ScriptModalFormResponseV2.h:15
Definition ScriptModalFormResponse.h:15
Definition Promise.h:8
Definition StrongTypedObjectHandle.h:8
Definition ServerPlayerEventCoordinator.h:8
Definition DataDrivenScreenPromise.h:9
Definition PlayerDataDrivenScreenClosedEvent.h:14
Definition PlayerFormCloseEvent.h:14
Definition PlayerFormResponseEvent.h:14
Definition ScriptFormPromiseTracker.h:45
Definition ServerScriptManagerEvents.h:13