LeviLamina
Loading...
Searching...
No Matches
LevelOptionsDataProvider.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/settings/IOptionsDataProvider.h"
7#include "mc/client/settings/LocStringData.h"
8#include "mc/deps/core/utility/pub_sub/Subscription.h"
9
10// auto generated forward declare list
11// clang-format off
13namespace Settings { class IOptionPropertyHandler; }
14namespace Settings { struct OptionData; }
15// clang-format on
16
17namespace Settings {
18
19class LevelOptionsDataProvider : public ::Settings::IOptionsDataProvider {
20public:
21 // LevelOptionsDataProvider inner types define
22 using SubscriptionConnector = ::std::function<::Bedrock::PubSub::Subscription(::std::function<void()>)>;
23
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Settings::IOptionPropertyHandler>> mDelegate;
28 ::ll::TypedStorage<
29 8,
30 80,
31 ::std::optional<::std::variant<::std::string, ::std::function<::std::string()>, ::Settings::LocStringData>>>
32 mInfo;
33 ::ll::TypedStorage<8, 24, ::std::vector<::Settings::OptionData>> mValues;
34 ::ll::TypedStorage<8, 24, ::std::vector<::std::function<::Bedrock::PubSub::Subscription(::std::function<void()>)>>>
35 mSubscriptionConnectors;
36 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mLevelChangedSubscription;
37 ::ll::TypedStorage<8, 24, ::std::vector<::Bedrock::PubSub::Subscription>> mSubscriptions;
38 // NOLINTEND
39
40public:
41 // prevent constructor by default
42 LevelOptionsDataProvider();
43
44public:
45 // virtual functions
46 // NOLINTBEGIN
47 virtual bool canModify() const /*override*/;
48
49 virtual ::gsl::span<::Settings::OptionData const> getOptions() const /*override*/;
50
51 virtual int getValue() const /*override*/;
52
53 virtual void setValue(int index) /*override*/;
54
55 virtual ::std::optional<
56 ::std::variant<::std::string, ::std::function<::std::string()>, ::Settings::LocStringData>> const&
57 getInfo() const /*override*/;
58 // NOLINTEND
59
60public:
61 // member functions
62 // NOLINTBEGIN
63 MCAPI LevelOptionsDataProvider(
64 ::std::function<::Bedrock::PubSub::Subscription(::std::function<void(::LevelDataWrapper&)>)>
65 registerLevelChangeCallback,
66 ::std::vector<::std::function<::Bedrock::PubSub::Subscription(::std::function<void()>)>> subscriptionConnectors,
67 ::std::unique_ptr<::Settings::IOptionPropertyHandler> delegate
68 );
69 // NOLINTEND
70
71public:
72 // constructor thunks
73 // NOLINTBEGIN
74 MCAPI void* $ctor(
75 ::std::function<::Bedrock::PubSub::Subscription(::std::function<void(::LevelDataWrapper&)>)>
76 registerLevelChangeCallback,
77 ::std::vector<::std::function<::Bedrock::PubSub::Subscription(::std::function<void()>)>> subscriptionConnectors,
78 ::std::unique_ptr<::Settings::IOptionPropertyHandler> delegate
79 );
80 // NOLINTEND
81
82public:
83 // virtual function thunks
84 // NOLINTBEGIN
85 MCAPI bool $canModify() const;
86
87 MCAPI ::gsl::span<::Settings::OptionData const> $getOptions() const;
88
89 MCFOLD int $getValue() const;
90
91 MCAPI void $setValue(int index);
92
93 MCFOLD ::std::optional<
94 ::std::variant<::std::string, ::std::function<::std::string()>, ::Settings::LocStringData>> const&
95 $getInfo() const;
96 // NOLINTEND
97};
98
99} // namespace Settings
Definition LevelDataWrapper.h:5
Definition IOptionPropertyHandler.h:7
Definition LevelOptionsDataProvider.h:7
Definition OptionData.h:7