LeviLamina
Loading...
Searching...
No Matches
DataDrivenScreenAPI.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/gameplay/api/gameplayui/DataDrivenScreenInfo.h"
7#include "mc/deps/core/utility/pub_sub/Publisher.h"
8#include "mc/ui/DataDrivenScreenClosedReason.h"
9
10// auto generated forward declare list
11// clang-format off
12class PacketSender;
13namespace Bedrock::PubSub::ThreadModel { struct SingleThreaded; }
14// clang-format on
15
16namespace GameplayUI {
17
19public:
20 // DataDrivenScreenAPI inner types define
21 using ShowDataDrivenScreenCallbackSignature =
22 void(::std::optional<::std::string> const, ::std::optional<uint> const);
23
24 using ShowDataDrivenScreenCallback = ::std::function<void(::std::optional<::std::string>, ::std::optional<uint>)>;
25
26 using ScreenClosedCallbackSignature = void(uint, ::DataDrivenScreenClosedReason);
27
28 using ScreenClosedCallback = ::std::function<void(uint, ::DataDrivenScreenClosedReason)>;
29
30 using ClientSideCloseCallbackSignature = void();
31
32 using ClientSideCloseCallback = ::std::function<void()>;
33
34public:
35 // member variables
36 // NOLINTBEGIN
37 ::ll::TypedStorage<
38 8,
39 48,
40 ::Bedrock::PubSub::Publisher<
41 void(::std::optional<::std::string>, ::std::optional<uint>),
42 ::Bedrock::PubSub::ThreadModel::SingleThreaded,
43 0>>
44 mShowDataDrivenScreenPublisher;
45 ::ll::TypedStorage<8, 48, ::Bedrock::PubSub::Publisher<void(), ::Bedrock::PubSub::ThreadModel::SingleThreaded, 0>>
46 mClientSideClosePublisher;
47 ::ll::TypedStorage<8, 56, ::std::optional<::GameplayUI::DataDrivenScreenInfo>> mCurrentScreen;
48 ::ll::TypedStorage<8, 8, ::PacketSender*> mPacketSender;
49 // NOLINTEND
50
51public:
52 // member functions
53 // NOLINTBEGIN
54 MCAPI void clientSideCloseDataDrivenScreens();
55
56 MCAPI void closeAllDataDrivenScreens();
57
58 MCAPI void closeDataDrivenScreen(uint formId);
59
60 MCAPI void showDataDrivenScreen(::std::string const& screenId, uint formId, ::std::optional<uint> dataInstanceId);
61 // NOLINTEND
62};
63
64} // namespace GameplayUI
Definition DataDrivenScreenAPI.h:7
Definition PacketSender.h:17