3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/settings/Component.h"
7#include "mc/client/settings/ComponentState.h"
18class OptionComponent :
public ::Settings::Component<::Settings::OptionComponent> {
21 using DataProvider = ::Settings::IOptionsDataProvider;
23 using ConfirmationRequestsProvider = ::std::function<::std::vector<::Settings::OptionConfirmationRequest>()>;
28 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Settings::IOptionsDataProvider>> mDataProvider;
29 ::ll::TypedStorage<8, 64, ::std::function<::std::vector<::Settings::OptionConfirmationRequest>()>>
30 mConfirmationRequestsProvider;
40 virtual ~OptionComponent() =
default;
42 virtual ::Settings::ComponentState getDefaultState() const ;
48 MCAPI OptionComponent(
49 ::std::string_view
id,
50 ::std::string_view name,
51 ::std::optional<::std::
string> description,
52 ::std::unique_ptr<::Settings::IOptionsDataProvider> dataProvider
57 MCFOLD ::std::vector<::Settings::OptionConfirmationRequest> getConfirmationRequests() const;
59 MCAPI ::std::optional<::std::
string> getInfo() const;
61 MCFOLD ::gsl::span<::Settings::OptionData const> getOptions() const;
63 MCAPI
int getValue() const;
65 MCAPI
bool updateValue(
int value);
72 ::std::string_view
id,
73 ::std::string_view name,
74 ::std::optional<::std::
string> description,
75 ::std::unique_ptr<::Settings::IOptionsDataProvider> dataProvider
82 MCFOLD ::Settings::ComponentState $getDefaultState() const;
Definition IOptionsDataProvider.h:7
Definition OptionComponent.h:7
static MCAPI void ** $vftable()
Definition OptionConfirmationRequest.h:7
Definition OptionData.h:7