3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/core/utility/pub_sub/Subscription.h"
8#include "mc/events/NetworkType.h"
9#include "mc/world/actor/player/persona/ProfileType.h"
10#include "mc/world/events/EventListenerDispatcher.h"
11#include "mc/world/events/EventResult.h"
12#include "mc/world/events/ItemEventListener.h"
13#include "mc/world/events/PlayerEventListener.h"
25namespace OreUI {
class Router; }
30class GameplayUIClient :
public ::EventListenerDispatcher<::PlayerEventListener>,
31 public ::EventListenerDispatcher<::ItemEventListener> {
35 ::ll::TypedStorage<8, 8, ::GameplayUI::GameplayUIContext&> mContext;
36 ::ll::TypedStorage<8, 8, ::OreUI::Router&> mRouter;
37 ::ll::TypedStorage<8, 8, ::IOptionRegistry&> mOptions;
38 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::ISceneStack const>> mSceneStack;
39 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mConnectedSubscription;
40 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mClientSideCloseSubscription;
45 GameplayUIClient& operator=(GameplayUIClient
const&);
46 GameplayUIClient(GameplayUIClient
const&);
52 virtual ::EventResult onPlayerCreated(
53 ::LocalPlayer& player,
54 ::persona::ProfileType personaSlot,
55 ::std::string
const& classicSkinId,
56 bool usingClassicSkin,
57 ::NetworkType networkType
60 virtual ::EventResult onEvent(::PlayerNotificationEvent
const& event) ;
62 virtual ::EventResult onLocalPlayerDeath(::IClientInstance& client, ::LocalPlayer& player) ;
64 virtual ::EventResult onLocalPlayerRespawn(::IClientInstance& client, ::LocalPlayer& player) ;
66 virtual ::EventResult onLocalPlayerOpenInventory(::IClientInstance& localPlayer, ::LocalPlayer&) ;
69 onLocalPlayerOpenTrading(::IClientInstance& uniqueID, ::LocalPlayer&, ::ActorUniqueID
const&,
bool) ;
71 virtual ::EventResult onShowDataDrivenScreen(
72 ::LocalPlayer& screenId,
73 ::std::string
const& formId,
78 virtual ::EventResult onCloseDataDrivenScreen(::LocalPlayer& formId, uint) ;
80 virtual ::EventResult onCloseAllDataDrivenScreens(::LocalPlayer&) ;
86 MCAPI GameplayUIClient(
87 ::GameplayUI::GameplayUIContext& context,
88 ::OreUI::Router& router,
89 ::IOptionRegistry& options,
90 ::Bedrock::NotNullNonOwnerPtr<::ISceneStack const> sceneStack
93 MCAPI
void onDataDrivenScreenClientSideClose();
95 MCAPI
void onJoinWorld(::IClientInstance& client);
97 MCAPI
void onLeaveWorld();
99 MCAPI
void setupGameServerConnectionListener(::GameConnectionConnector
const& gameConnectionConnector);
108 ::GameplayUI::GameplayUIContext& context,
109 ::OreUI::Router& router,
110 ::IOptionRegistry& options,
111 ::Bedrock::NotNullNonOwnerPtr<::ISceneStack const> sceneStack
118 MCAPI ::EventResult $onPlayerCreated(
119 ::LocalPlayer& player,
120 ::persona::ProfileType personaSlot,
121 ::std::string
const& classicSkinId,
122 bool usingClassicSkin,
123 ::NetworkType networkType
126 MCAPI ::EventResult $onEvent(::PlayerNotificationEvent
const& event);
128 MCAPI ::EventResult $onLocalPlayerDeath(::IClientInstance& client, ::LocalPlayer& player);
130 MCAPI ::EventResult $onLocalPlayerRespawn(::IClientInstance& client, ::LocalPlayer& player);
132 MCAPI ::EventResult $onLocalPlayerOpenInventory(::IClientInstance& localPlayer, ::LocalPlayer&);
135 $onLocalPlayerOpenTrading(::IClientInstance& uniqueID, ::LocalPlayer&, ::ActorUniqueID
const&,
bool);
137 MCAPI ::EventResult $onShowDataDrivenScreen(
138 ::LocalPlayer& screenId,
139 ::std::string
const& formId,
141 ::std::optional<uint>
144 MCAPI ::EventResult $onCloseDataDrivenScreen(::LocalPlayer& formId, uint);
146 MCAPI ::EventResult $onCloseAllDataDrivenScreens(::LocalPlayer&);
Definition GameplayUIClient.h:7
static MCAPI void ** $vftableForEventListenerDispatcherPlayerEventListener()
static MCAPI void ** $vftableForEventListenerDispatcherItemEventListener()
Definition IClientInstance.h:5
Definition IOptionRegistry.h:5
Definition ISceneStack.h:5
Definition LocalPlayer.h:5
Definition ActorUniqueID.h:10
Definition GameConnectionConnector.h:5
Definition GameplayUIContext.h:7
Definition PlayerNotificationEvent.h:136