LeviLamina
Loading...
Searching...
No Matches
DataDrivenUIRepository.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/resources/ResourcePackListener.h"
8#include "mc/resources/interface/IDataDrivenUIRepository.h"
9
10// auto generated forward declare list
11// clang-format off
14namespace Bedrock::PubSub { class Subscription; }
15namespace SharedTypes::v1_21_130::DataDrivenUI { struct Container; }
16namespace SharedTypes::v1_21_130::DataDrivenUI { struct Context; }
17namespace SharedTypes::v1_21_130::DataDrivenUI { struct Panel; }
18namespace SharedTypes::v1_21_130::DataDrivenUI { struct UIComposition; }
19namespace SharedTypes::v1_21_130::DataDrivenUI { struct UIRoot; }
20// clang-format on
21
22class DataDrivenUIRepository : public ::IDataDrivenUIRepository, public ::ResourcePackListener {
23public:
24 // member variables
25 // NOLINTBEGIN
36 // NOLINTEND
37
38public:
39 // prevent constructor by default
40 DataDrivenUIRepository& operator=(DataDrivenUIRepository const&);
41 DataDrivenUIRepository(DataDrivenUIRepository const&);
42 DataDrivenUIRepository();
43
44public:
45 // virtual functions
46 // NOLINTBEGIN
47#ifdef LL_PLAT_S
48 virtual ~DataDrivenUIRepository() /*override*/ = default;
49#else // LL_PLAT_C
50 virtual ~DataDrivenUIRepository() /*override*/;
51#endif
52
53 virtual void onActiveResourcePacksChanged(::ResourcePackManager&) /*override*/;
54
55 virtual void onJsonResourcesChanged(::ResourcePackManager& resourcePackManager) /*override*/;
56
57 virtual void load(::ResourcePackManager const& resourcePackManager) /*override*/;
58
59 virtual ::std::vector<::std::variant<
60 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Container>,
61 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Context>,
62 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Panel>>> const&
63 getComposition(::std::string const& identifier) const /*override*/;
64
65 virtual ::std::vector<::std::variant<
66 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Container>,
67 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Context>,
68 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Panel>>> const&
69 getRoot(::std::string const& identifier) const /*override*/;
70
71 virtual ::Bedrock::PubSub::Subscription
72 subscribeToOnCompositionsReloadedAsync(::std::function<void()>&& onCompositionsReloadedAsyncCallback) /*override*/;
73 // NOLINTEND
74
75public:
76 // member functions
77 // NOLINTBEGIN
78 MCNAPI_C void _initializeLoaders(
81 compositionLoader,
82 bool isBuiltinPack
83 );
84
85 MCNAPI_C void _loadAllDataDrivenUIData(::ResourcePackManager const& resourcePackManager);
86
87 MCNAPI_C void
88 _parseAndLoadUICompositionData(char const* filenameStr, ::std::string const& fileData, bool isBuiltinPack);
89
90 MCNAPI_C void _parseAndLoadUIRootData(char const* filenameStr, ::std::string const& fileData, bool isBuiltinPack);
91 // NOLINTEND
92
93public:
94 // constructor thunks
95 // NOLINTBEGIN
96 MCNAPI_C void* $ctor(
97 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
98 ::ResourcePackManager& resourcePackManager
99 );
100 // NOLINTEND
101
102public:
103 // destructor thunk
104 // NOLINTBEGIN
105 MCNAPI void $dtor();
106 // NOLINTEND
107
108public:
109 // virtual function thunks
110 // NOLINTBEGIN
111#ifdef LL_PLAT_C
112 MCNAPI void $onActiveResourcePacksChanged(::ResourcePackManager&);
113
114 MCNAPI void $onJsonResourcesChanged(::ResourcePackManager& resourcePackManager);
115
116 MCNAPI void $load(::ResourcePackManager const& resourcePackManager);
117
118 MCNAPI ::std::vector<::std::variant<
119 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Container>,
120 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Context>,
121 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Panel>>> const&
122 $getComposition(::std::string const& identifier) const;
123
124 MCNAPI ::std::vector<::std::variant<
125 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Container>,
126 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Context>,
127 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Panel>>> const&
128 $getRoot(::std::string const& identifier) const;
129
130 MCNAPI ::Bedrock::PubSub::Subscription
131 $subscribeToOnCompositionsReloadedAsync(::std::function<void()>&& onCompositionsReloadedAsyncCallback);
132#endif
133
134
135 // NOLINTEND
136
137public:
138 // vftables
139 // NOLINTBEGIN
141
142 MCNAPI static void** $vftableForResourcePackListener();
143 // NOLINTEND
144};
Definition Subscription.h:10
static MCAPI void ** $vftableForResourcePackListener()
static MCAPI void ** $vftableForIDataDrivenUIRepository()
Definition IDataDrivenUIRepository.h:17
Definition _HeaderOutputPredefine.h:293
Definition ResourceLoadManager.h:18
Definition ResourcePackListener.h:10
MCAPI void $onJsonResourcesChanged(::ResourcePackManager &)
Definition ResourcePackManager.h:29
Definition Alias.h:14