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 PacketSenderGetter = ::std::function<::PacketSender&()>;
31
32public:
33 // member variables
34 // NOLINTBEGIN
35 ::ll::TypedStorage<
36 8,
37 48,
38 ::Bedrock::PubSub::Publisher<
39 void(::std::optional<::std::string>, ::std::optional<uint>),
40 ::Bedrock::PubSub::ThreadModel::SingleThreaded,
41 0>>
42 mShowDataDrivenScreenPublisher;
43 ::ll::TypedStorage<8, 56, ::std::optional<::GameplayUI::DataDrivenScreenInfo>> mCurrentScreen;
44 ::ll::TypedStorage<8, 64, ::std::function<::PacketSender&()>> mPacketSenderGetter;
45 // NOLINTEND
46
47public:
48 // member functions
49 // NOLINTBEGIN
50 MCAPI void sendClosedPacket(uint formId, ::DataDrivenScreenClosedReason closeReason);
51
52 MCAPI void showDataDrivenScreen(::std::string const& screenId, uint formId, ::std::optional<uint> dataInstanceId);
53 // NOLINTEND
54};
55
56} // namespace GameplayUI
Definition DataDrivenScreenAPI.h:7
Definition PacketSender.h:17