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/script_core/lifetime_registry/scripting/StrongTypedObjectHandle.h"
9#include "mc/deps/script_core/script_engine/scripting/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*/ = default;
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
119 MCAPI ScriptFormPromiseTracker(
121 ::LevelEventCoordinator& levelEventCoordinator,
122 ::ServerPlayerEventCoordinator& playerEventCooordinator
123 );
124
125 MCAPI void rejectAll();
126
127 MCAPI void showDataDrivenScreenToPlayer(
128 ::Player const& player,
129 ::std::string const& screenId,
130 ::std::optional<uint> dataInstanceId,
131 ::std::shared_ptr<::DataDrivenScreenPromise> promise
132 );
133 // NOLINTEND
134
135public:
136 // static functions
137 // NOLINTBEGIN
138 MCAPI static void _sendToClient(::Player const& player, ::Json::Value formJson, uint formId);
139 // NOLINTEND
140
141public:
142 // constructor thunks
143 // NOLINTBEGIN
144 MCAPI void* $ctor(
146 ::LevelEventCoordinator& levelEventCoordinator,
147 ::ServerPlayerEventCoordinator& playerEventCooordinator
148 );
149 // NOLINTEND
150
151public:
152 // virtual function thunks
153 // NOLINTBEGIN
154 MCAPI ::EventResult $onEvent(::PlayerFormResponseEvent const& formResponseEvent);
155
156 MCAPI ::EventResult $onEvent(::PlayerFormCloseEvent const& formCloseEvent);
157
158 MCAPI ::EventResult $onEvent(::PlayerDataDrivenScreenClosedEvent const& formResponseEvent);
159
160 MCAPI ::EventResult $onLevelRemovedPlayer(::Player& player);
161
162
163 // NOLINTEND
164};
Definition EnableNonOwnerReferences.h:7
Definition EventListenerDispatcher.h:6
Definition Value.h:16
Definition LevelEventCoordinator.h:21
Definition Player.h:128
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