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,
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&, ::LocalPlayer&, ::ActorUniqueID
const& uniqueID,
bool) ;
71 virtual ::EventResult onShowDataDrivenScreen(
73 ::std::string
const& screenId,
75 ::std::optional<uint> dataInstanceId
78 virtual ::EventResult onCloseDataDrivenScreen(::LocalPlayer&, uint formId) ;
80 virtual ::EventResult onCloseAllDataDrivenScreens(::LocalPlayer&) ;
86 MCAPI
void onJoinWorld(::IClientInstance& client);
88 MCAPI
void onLeaveWorld();
90 MCAPI
void setupGameServerConnectionListener(::GameConnectionConnector
const& gameConnectionConnector);
97 $onPlayerCreated(::LocalPlayer& player, ::persona::ProfileType, ::std::string
const&,
bool, ::NetworkType);
99 MCAPI ::EventResult $onEvent(::PlayerNotificationEvent
const& event);
101 MCAPI ::EventResult $onLocalPlayerDeath(::IClientInstance& client, ::LocalPlayer& player);
103 MCAPI ::EventResult $onLocalPlayerRespawn(::IClientInstance& client, ::LocalPlayer& player);
105 MCAPI ::EventResult $onLocalPlayerOpenInventory(::IClientInstance&, ::LocalPlayer& localPlayer);
108 $onLocalPlayerOpenTrading(::IClientInstance&, ::LocalPlayer&, ::ActorUniqueID
const& uniqueID,
bool);
110 MCAPI ::EventResult $onShowDataDrivenScreen(
112 ::std::string
const& screenId,
114 ::std::optional<uint> dataInstanceId
117 MCAPI ::EventResult $onCloseDataDrivenScreen(::LocalPlayer&, uint formId);
119 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:5
Definition GameConnectionConnector.h:5
Definition GameplayUIContext.h:7
Definition PlayerNotificationEvent.h:155