LeviLamina
Loading...
Searching...
No Matches
ResourcePackResolver.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
9// auto generated forward declare list
10// clang-format off
12class IUIRepository;
14class UIResolvedDef;
15namespace Json { class Value; }
16namespace UI::Resources { struct ControlPropertyNames; }
17namespace UI::Resources { struct DefinitionPropertyNames; }
18namespace UI::Resources { struct ResolvedControlData; }
19namespace UI::Resources { struct ResolvedDefinition; }
20namespace UI::Resources { struct ResolvedPropertyData; }
21namespace UI::Resources { struct ResolvedTextureData; }
22// clang-format on
23
24namespace UI::Resources {
25
26class ResourcePackResolver : public ::ResourcePackListener {
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 8, ::std::reference_wrapper<::ResourcePackManager>> mResourcePackManager;
31 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IUIDefRepository const>> mUIDefRepo;
32 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IUIRepository>> mUIRepo;
33 ::ll::TypedStorage<1, 1, bool> mIsDirty;
34 // NOLINTEND
35
36public:
37 // prevent constructor by default
38 ResourcePackResolver();
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 virtual ~ResourcePackResolver() /*override*/;
44
45 virtual void onActiveResourcePacksChanged(::ResourcePackManager&) /*override*/;
46 // NOLINTEND
47
48public:
49 // member functions
50 // NOLINTBEGIN
51 MCAPI ResourcePackResolver(
52 ::Bedrock::NotNullNonOwnerPtr<::IUIDefRepository const> defRepository,
53 ::Bedrock::NotNullNonOwnerPtr<::IUIRepository> uiRepository,
54 ::ResourcePackManager& resourcePackManager
55 );
56
57 MCAPI ::std::vector<::UI::Resources::ResolvedControlData> _evaluateControlProperties(
58 ::UIResolvedDef const& resolvedDef,
59 ::std::vector<::Json::Value*>& variableStack,
60 ::std::string const& defNamespace,
61 ::UI::Resources::ControlPropertyNames const& dataToResolve
62 );
63
64 MCAPI ::std::vector<::UI::Resources::ResolvedPropertyData> _evaluateProperties(
65 ::UIResolvedDef const& resolvedDef,
66 ::std::vector<::std::string> const& propertiesToResolve
67 ) const;
68
69 MCAPI ::std::vector<::UI::Resources::ResolvedTextureData>
70 _evaluateTextures(::UIResolvedDef const& resolvedDef, ::std::vector<::std::string> const& texturesToResolve) const;
71
72 MCAPI ::UI::Resources::ResolvedTextureData
73 _getTextureData(::Json::Value const& textureDefinition, ::std::string const& definitionIdentifier) const;
74
75 MCAPI ::glm::vec2 _getTextureImageSize(::Json::Value const& textureDefinition) const;
76
77 MCAPI bool doesDefinitionContainNonBaseGameTextures(
78 ::std::vector<::UI::Resources::ResolvedDefinition> const& definitions
79 ) const;
80
81 MCAPI ::std::vector<::UI::Resources::ResolvedDefinition>
82 resolveDefinitions(::std::vector<::UI::Resources::DefinitionPropertyNames> const& definitionsToResolve);
83 // NOLINTEND
84
85public:
86 // constructor thunks
87 // NOLINTBEGIN
88 MCAPI void* $ctor(
89 ::Bedrock::NotNullNonOwnerPtr<::IUIDefRepository const> defRepository,
90 ::Bedrock::NotNullNonOwnerPtr<::IUIRepository> uiRepository,
91 ::ResourcePackManager& resourcePackManager
92 );
93 // NOLINTEND
94
95public:
96 // destructor thunk
97 // NOLINTBEGIN
98 MCAPI void $dtor();
99 // NOLINTEND
100
101public:
102 // virtual function thunks
103 // NOLINTBEGIN
104 MCAPI void $onActiveResourcePacksChanged(::ResourcePackManager&);
105 // NOLINTEND
106
107public:
108 // vftables
109 // NOLINTBEGIN
110 MCNAPI static void** $vftable();
111 // NOLINTEND
112};
113
114} // namespace UI::Resources
Definition IUIDefRepository.h:5
Definition IUIRepository.h:5
Definition Value.h:16
MCAPI void $dtor()
Definition ResourcePackManager.h:30
Definition UIResolvedDef.h:5
Definition ResourcePackResolver.h:7
static MCAPI void ** $vftable()
Definition ControlPropertyNames.h:7
Definition DefinitionPropertyNames.h:7
Definition ResolvedControlData.h:7
Definition ResolvedDefinition.h:7
Definition ResolvedPropertyData.h:7
Definition ResolvedTextureData.h:7