3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/settings/IOptionsDataProvider.h"
7#include "mc/deps/core/utility/pub_sub/Subscription.h"
21 using SubscriptionConnector = ::std::function<::Bedrock::PubSub::Subscription(::std::function<
void()>)>;
26 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Settings::IOptionPropertyHandler>> mDelegate;
27 ::ll::TypedStorage<8, 40, ::std::optional<::std::string>> mInfo;
28 ::ll::TypedStorage<8, 24, ::std::vector<::Settings::OptionData>> mValues;
29 ::ll::TypedStorage<8, 24, ::std::vector<::std::function<::Bedrock::PubSub::Subscription(::std::function<
void()>)>>>
30 mSubscriptionConnectors;
31 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mLevelChangedSubscription;
32 ::ll::TypedStorage<8, 24, ::std::vector<::Bedrock::PubSub::Subscription>> mSubscriptions;
37 LevelOptionsDataProvider();
42 virtual bool canModify() const ;
44 virtual ::gsl::span<::Settings::OptionData const> getOptions() const ;
46 virtual
int getValue() const ;
48 virtual
void setValue(
int index) ;
50 virtual ::std::optional<::std::
string> const& getInfo() const ;
52 virtual ~LevelOptionsDataProvider() ;
58 MCAPI LevelOptionsDataProvider(
59 ::std::function<::Bedrock::PubSub::Subscription(::std::function<
void(::LevelDataWrapper&)>)>
60 registerLevelChangeCallback,
61 ::std::vector<::std::function<::Bedrock::PubSub::Subscription(::std::function<
void()>)>> subscriptionConnectors,
62 ::std::unique_ptr<::Settings::IOptionPropertyHandler> delegate
65 MCAPI
void _updateData();
67 MCAPI
void _updateSubscriptions();
74 ::std::function<::Bedrock::PubSub::Subscription(::std::function<
void(::LevelDataWrapper&)>)>
75 registerLevelChangeCallback,
76 ::std::vector<::std::function<::Bedrock::PubSub::Subscription(::std::function<
void()>)>> subscriptionConnectors,
77 ::std::unique_ptr<::Settings::IOptionPropertyHandler> delegate
90 MCFOLD
bool $canModify() const;
92 MCAPI ::gsl::span<::Settings::OptionData const> $getOptions() const;
94 MCFOLD
int $getValue() const;
96 MCAPI
void $setValue(
int index);
98 MCFOLD ::std::optional<::std::
string> const& $getInfo() const;
Definition LevelDataWrapper.h:14
Definition IOptionPropertyHandler.h:7
Definition LevelOptionsDataProvider.h:7
static MCAPI void ** $vftable()
Definition OptionData.h:7