LeviLamina
Loading...
Searching...
No Matches
GameplayUIClient.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
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"
14
15// auto generated forward declare list
16// clang-format off
17class IClientInstance;
18class IOptionRegistry;
19class ISceneStack;
20class LocalPlayer;
21struct ActorUniqueID;
24namespace GameplayUI { struct GameplayUIContext; }
25namespace OreUI { class Router; }
26// clang-format on
27
28namespace GameplayUI {
29
30class GameplayUIClient : public ::EventListenerDispatcher<::PlayerEventListener>,
31 public ::EventListenerDispatcher<::ItemEventListener> {
32public:
33 // member variables
34 // NOLINTBEGIN
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;
41 // NOLINTEND
42
43public:
44 // prevent constructor by default
45 GameplayUIClient& operator=(GameplayUIClient const&);
46 GameplayUIClient(GameplayUIClient const&);
47 GameplayUIClient();
48
49public:
50 // virtual functions
51 // NOLINTBEGIN
52 virtual ::EventResult onPlayerCreated(
53 ::LocalPlayer& player,
54 ::persona::ProfileType,
55 ::std::string const&,
56 bool,
57 ::NetworkType
58 ) /*override*/;
59
60 virtual ::EventResult onEvent(::PlayerNotificationEvent const& event) /*override*/;
61
62 virtual ::EventResult onLocalPlayerDeath(::IClientInstance& client, ::LocalPlayer& player) /*override*/;
63
64 virtual ::EventResult onLocalPlayerRespawn(::IClientInstance& client, ::LocalPlayer& player) /*override*/;
65
66 virtual ::EventResult onLocalPlayerOpenInventory(::IClientInstance&, ::LocalPlayer& localPlayer) /*override*/;
67
68 virtual ::EventResult
69 onLocalPlayerOpenTrading(::IClientInstance&, ::LocalPlayer&, ::ActorUniqueID const& uniqueID, bool) /*override*/;
70
71 virtual ::EventResult onShowDataDrivenScreen(
72 ::LocalPlayer&,
73 ::std::string const& screenId,
74 uint formId,
75 ::std::optional<uint> dataInstanceId
76 ) /*override*/;
77
78 virtual ::EventResult onCloseDataDrivenScreen(::LocalPlayer&, uint formId) /*override*/;
79
80 virtual ::EventResult onCloseAllDataDrivenScreens(::LocalPlayer&) /*override*/;
81 // NOLINTEND
82
83public:
84 // member functions
85 // NOLINTBEGIN
86 MCAPI void onJoinWorld(::IClientInstance& client);
87
88 MCAPI void onLeaveWorld();
89
90 MCAPI void setupGameServerConnectionListener(::GameConnectionConnector const& gameConnectionConnector);
91 // NOLINTEND
92
93public:
94 // virtual function thunks
95 // NOLINTBEGIN
96 MCAPI ::EventResult
97 $onPlayerCreated(::LocalPlayer& player, ::persona::ProfileType, ::std::string const&, bool, ::NetworkType);
98
99 MCAPI ::EventResult $onEvent(::PlayerNotificationEvent const& event);
100
101 MCAPI ::EventResult $onLocalPlayerDeath(::IClientInstance& client, ::LocalPlayer& player);
102
103 MCAPI ::EventResult $onLocalPlayerRespawn(::IClientInstance& client, ::LocalPlayer& player);
104
105 MCAPI ::EventResult $onLocalPlayerOpenInventory(::IClientInstance&, ::LocalPlayer& localPlayer);
106
107 MCAPI ::EventResult
108 $onLocalPlayerOpenTrading(::IClientInstance&, ::LocalPlayer&, ::ActorUniqueID const& uniqueID, bool);
109
110 MCAPI ::EventResult $onShowDataDrivenScreen(
111 ::LocalPlayer&,
112 ::std::string const& screenId,
113 uint formId,
114 ::std::optional<uint> dataInstanceId
115 );
116
117 MCAPI ::EventResult $onCloseDataDrivenScreen(::LocalPlayer&, uint formId);
118
119 MCAPI ::EventResult $onCloseAllDataDrivenScreens(::LocalPlayer&);
120 // NOLINTEND
121
122public:
123 // vftables
124 // NOLINTBEGIN
126
128 // NOLINTEND
129};
130
131} // namespace GameplayUI
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 Router.h:7
Definition ActorUniqueID.h:5
Definition GameConnectionConnector.h:5
Definition GameplayUIContext.h:7
Definition PlayerNotificationEvent.h:155