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 ::EventResult onEvent(::PlayerFormResponseEvent const& formResponseEvent) /*override*/;
106
107 virtual ::EventResult onEvent(::PlayerFormCloseEvent const& formCloseEvent) /*override*/;
108
109 virtual ::EventResult onEvent(::PlayerDataDrivenScreenClosedEvent const& formResponseEvent) /*override*/;
110
111 virtual ~ScriptFormPromiseTracker() /*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
130 ::Player const& player,
131 ::std::string const& screenId,
132 ::std::optional<uint> dataInstanceId,
133 ::std::shared_ptr<::DataDrivenScreenPromise> promise
134 );
135 // NOLINTEND
136
137public:
138 // static functions
139 // NOLINTBEGIN
140 MCNAPI static void _sendToClient(::Player const& player, ::Json::Value formJson, uint formId);
141 // NOLINTEND
142
143public:
144 // constructor thunks
145 // NOLINTBEGIN
146 MCNAPI void* $ctor(
148 ::LevelEventCoordinator& levelEventCoordinator,
149 ::ServerPlayerEventCoordinator& playerEventCooordinator
150 );
151 // NOLINTEND
152
153public:
154 // destructor thunk
155 // NOLINTBEGIN
156 MCNAPI void $dtor();
157 // NOLINTEND
158
159public:
160 // virtual function thunks
161 // NOLINTBEGIN
162 MCNAPI ::EventResult $onEvent(::PlayerFormResponseEvent const& formResponseEvent);
163
164 MCNAPI ::EventResult $onEvent(::PlayerFormCloseEvent const& formCloseEvent);
165
166 MCNAPI ::EventResult $onEvent(::PlayerDataDrivenScreenClosedEvent const& formResponseEvent);
167
168 MCNAPI ::EventResult $onLevelRemovedPlayer(::Player& player);
169
170
171 // NOLINTEND
172
173public:
174 // vftables
175 // NOLINTBEGIN
177
179
181 // NOLINTEND
182};
Definition EnableNonOwnerReferences.h:7
Definition EventListenerDispatcher.h:6
Definition Value.h:16
Definition LevelEventCoordinator.h:25
Definition Player.h:129
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 * $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