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;
24namespace Json { class Value; }
25namespace ScriptModuleMinecraftServerUI { class ScriptActionFormResponse; }
26namespace ScriptModuleMinecraftServerUI { class ScriptFormRejectError; }
27namespace ScriptModuleMinecraftServerUI { class ScriptMessageFormResponse; }
28namespace ScriptModuleMinecraftServerUI { class ScriptMessageFormResponseV2; }
29namespace ScriptModuleMinecraftServerUI { class ScriptModalFormResponse; }
30namespace ScriptModuleMinecraftServerUI { class ScriptModalFormResponseV2; }
31// clang-format on
32
33class ScriptFormPromiseTracker : public ::Bedrock::EnableNonOwnerReferences,
34 public ::EventListenerDispatcher<::PlayerEventListener>,
35 public ::EventListenerDispatcher<::LevelEventListener> {
36public:
37 // ScriptFormPromiseTracker inner types declare
38 // clang-format off
39 struct FromRequest;
40 // clang-format on
41
42 // ScriptFormPromiseTracker inner types define
87
88public:
89 // member variables
90 // NOLINTBEGIN
91 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mReloadSub;
92 ::ll::TypedStorage<8, 8, ::LevelEventCoordinator&> mLevelEventCoordinator;
93 ::ll::TypedStorage<8, 8, ::ServerPlayerEventCoordinator&> mPlayerEventCoordinator;
94 ::ll::TypedStorage<4, 4, uint> mLastRequestId;
95 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint, ::ScriptFormPromiseTracker::FromRequest>> mFormRequests;
96 // NOLINTEND
97
98public:
99 // prevent constructor by default
100 ScriptFormPromiseTracker& operator=(ScriptFormPromiseTracker const&);
101 ScriptFormPromiseTracker(ScriptFormPromiseTracker const&);
102 ScriptFormPromiseTracker();
103
104public:
105 // virtual functions
106 // NOLINTBEGIN
107 virtual ::EventResult onEvent(::PlayerFormResponseEvent const& formResponseEvent) /*override*/;
108
109 virtual ::EventResult onEvent(::PlayerFormCloseEvent const& formCloseEvent) /*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 handleFormResponse(uint formId, ::Json::Value const& formResponse);
126
127 MCNAPI void handlePlayerQuit(::NetworkIdentifier const& playerId);
128 // NOLINTEND
129
130public:
131 // static functions
132 // NOLINTBEGIN
133 MCNAPI static void _sendToClient(::Player const& player, ::Json::Value formJson, uint formId);
134 // NOLINTEND
135
136public:
137 // constructor thunks
138 // NOLINTBEGIN
139 MCNAPI void* $ctor(
141 ::LevelEventCoordinator& levelEventCoordinator,
142 ::ServerPlayerEventCoordinator& playerEventCooordinator
143 );
144 // NOLINTEND
145
146public:
147 // destructor thunk
148 // NOLINTBEGIN
149 MCNAPI void $dtor();
150 // NOLINTEND
151
152public:
153 // virtual function thunks
154 // NOLINTBEGIN
155 MCNAPI ::EventResult $onEvent(::PlayerFormResponseEvent const& formResponseEvent);
156
157 MCNAPI ::EventResult $onEvent(::PlayerFormCloseEvent const& formCloseEvent);
158
159 MCNAPI ::EventResult $onLevelRemovedPlayer(::Player& player);
160
161
162 // NOLINTEND
163
164public:
165 // vftables
166 // NOLINTBEGIN
168
170
172 // NOLINTEND
173};
Definition EnableNonOwnerReferences.h:7
Definition EventListenerDispatcher.h:6
Definition Value.h:16
Definition LevelEventCoordinator.h:25
Definition NetworkIdentifier.h:10
Definition Player.h:125
static MCAPI void _sendToClient(::Player const &player, ::Json::Value formJson, uint formId)
MCAPI::EventResult $onLevelRemovedPlayer(::Player &player)
MCAPI void handleFormResponse(uint formId, ::Json::Value const &formResponse)
static MCAPI void ** $vftableForEnableNonOwnerReferences()
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::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 PlayerFormCloseEvent.h:14
Definition PlayerFormResponseEvent.h:14
Definition ScriptFormPromiseTracker.h:43
Definition ServerScriptManagerEvents.h:13