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
70 MCAPI void _updateData();
71
72 MCAPI void _updateSubscriptions();
73 // NOLINTEND
74
75public:
76 // constructor thunks
77 // NOLINTBEGIN
78 MCAPI void* $ctor(
79 ::std::function<::Bedrock::PubSub::Subscription(::std::function<void(::LevelDataWrapper&)>)>
80 registerLevelChangeCallback,
81 ::std::vector<::std::function<::Bedrock::PubSub::Subscription(::std::function<void()>)>> subscriptionConnectors,
82 ::std::unique_ptr<::Settings::IOptionPropertyHandler> delegate
83 );
84 // NOLINTEND
85
86public:
87 // virtual function thunks
88 // NOLINTBEGIN
89 MCFOLD bool $canModify() const;
90
91 MCAPI ::gsl::span<::Settings::OptionData const> $getOptions() const;
92
93 MCFOLD int $getValue() const;
94
95 MCAPI void $setValue(int index);
96
97 MCFOLD ::std::optional<
98 ::std::variant<::std::string, ::std::function<::std::string()>, ::Settings::LocStringData>> const&
99 $getInfo() const;
100 // NOLINTEND
101
102public:
103 // vftables
104 // NOLINTBEGIN
105 MCNAPI static void** $vftable();
106 // NOLINTEND
107};
108
109} // namespace Settings
Definition LevelDataWrapper.h:14
Definition IOptionPropertyHandler.h:7
Definition LevelOptionsDataProvider.h:7
static MCAPI void ** $vftable()
Definition OptionData.h:7