3#include "mc/_HeaderOutputPredefine.h"
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"
21 using ShowDataDrivenScreenCallbackSignature =
22 void(::std::optional<::std::string>
const, ::std::optional<uint>
const);
24 using ShowDataDrivenScreenCallback = ::std::function<void(::std::optional<::std::string>, ::std::optional<uint>)>;
26 using ScreenClosedCallbackSignature = void(uint, ::DataDrivenScreenClosedReason);
28 using ScreenClosedCallback = ::std::function<void(uint, ::DataDrivenScreenClosedReason)>;
30 using PacketSenderGetter = ::std::function<::PacketSender&()>;
38 ::Bedrock::PubSub::Publisher<
39 void(::std::optional<::std::string>, ::std::optional<uint>),
40 ::Bedrock::PubSub::ThreadModel::SingleThreaded,
42 mShowDataDrivenScreenPublisher;
43 ::ll::TypedStorage<8, 56, ::std::optional<::GameplayUI::DataDrivenScreenInfo>> mCurrentScreen;
44 ::ll::TypedStorage<8, 64, ::std::function<::PacketSender&()>> mPacketSenderGetter;
50 MCAPI
void sendClosedPacket(uint formId, ::DataDrivenScreenClosedReason closeReason);
52 MCAPI
void showDataDrivenScreen(::std::string
const& screenId, uint formId, ::std::optional<uint> dataInstanceId);
Definition DataDrivenScreenAPI.h:7
Definition PacketSender.h:17
Definition SingleThreaded.h:7