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/deps/core/utility/pub_sub/Subscription.h"
8
9// auto generated forward declare list
10// clang-format off
12namespace Settings { class IOptionPropertyHandler; }
13namespace Settings { struct OptionData; }
14// clang-format on
15
16namespace Settings {
17
18class LevelOptionsDataProvider : public ::Settings::IOptionsDataProvider {
19public:
20 // LevelOptionsDataProvider inner types define
21 using SubscriptionConnector = ::std::function<::Bedrock::PubSub::Subscription(::std::function<void()>)>;
22
23public:
24 // member variables
25 // NOLINTBEGIN
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;
33 // NOLINTEND
34
35public:
36 // prevent constructor by default
37 LevelOptionsDataProvider();
38
39public:
40 // virtual functions
41 // NOLINTBEGIN
42 virtual bool canModify() const /*override*/;
43
44 virtual ::gsl::span<::Settings::OptionData const> getOptions() const /*override*/;
45
46 virtual int getValue() const /*override*/;
47
48 virtual void setValue(int index) /*override*/;
49
50 virtual ::std::optional<::std::string> const& getInfo() const /*override*/;
51
52 virtual ~LevelOptionsDataProvider() /*override*/;
53 // NOLINTEND
54
55public:
56 // member functions
57 // NOLINTBEGIN
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
63 );
64
65 MCAPI void _updateData();
66
67 MCAPI void _updateSubscriptions();
68 // NOLINTEND
69
70public:
71 // constructor thunks
72 // NOLINTBEGIN
73 MCAPI void* $ctor(
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
78 );
79 // NOLINTEND
80
81public:
82 // destructor thunk
83 // NOLINTBEGIN
84 MCAPI void $dtor();
85 // NOLINTEND
86
87public:
88 // virtual function thunks
89 // NOLINTBEGIN
90 MCFOLD bool $canModify() const;
91
92 MCAPI ::gsl::span<::Settings::OptionData const> $getOptions() const;
93
94 MCFOLD int $getValue() const;
95
96 MCAPI void $setValue(int index);
97
98 MCFOLD ::std::optional<::std::string> const& $getInfo() const;
99 // NOLINTEND
100
101public:
102 // vftables
103 // NOLINTBEGIN
104 MCNAPI static void** $vftable();
105 // NOLINTEND
106};
107
108} // namespace Settings
Definition LevelDataWrapper.h:14
Definition IOptionPropertyHandler.h:7
Definition LevelOptionsDataProvider.h:7
static MCAPI void ** $vftable()
Definition OptionData.h:7