3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/ChildInsertPosition.h"
7#include "mc/client/gui/FontHandle.h"
8#include "mc/client/gui/TileDirection.h"
9#include "mc/deps/core/utility/NonOwnerPointer.h"
10#include "mc/deps/json/Value.h"
24class UIControlFactory :
public ::std::enable_shared_from_this<::UIControlFactory> {
28 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IUIDefRepository const>> mUIDefRepository;
29 ::ll::TypedStorage<8, 8, ::UISoundPlayer const&> mSoundPlayer;
30 ::ll::TypedStorage<8, 32, ::std::string> mCurrentNamespace;
31 ::ll::TypedStorage<8, 16, ::Json::Value> mGlobalVars;
32 ::ll::TypedStorage<8, 24, ::std::vector<::Json::Value*>> mVariablesStack;
33 ::ll::TypedStorage<8, 80, ::FontHandle> mFontHandle;
34 ::ll::TypedStorage<8, 80, ::FontHandle> mRuneFontHandle;
35 ::ll::TypedStorage<8, 80, ::FontHandle> mUnicodeFontHandle;
36 ::ll::TypedStorage<8, 80, ::FontHandle> mSmoothFontHandle;
37 ::ll::TypedStorage<1, 1, bool> mLowMemoryMode;
38 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::UIControl>> mInitialSelectedControl;
43 UIControlFactory& operator=(UIControlFactory
const&);
44 UIControlFactory(UIControlFactory
const&);
50 MCAPI UIControlFactory(
51 ::Bedrock::NotNullNonOwnerPtr<::IUIDefRepository const> uiDefRepo,
52 ::Json::Value
const& globalVars,
53 ::UISoundPlayer
const& soundPlayer,
54 ::FontHandle fontHandle,
55 ::FontHandle runeFontHandle,
56 ::FontHandle unicodeFontHandle,
57 ::FontHandle smoothFontHandle,
61 MCAPI ::UIAnim* _addAnimToComponent(::std::string_view name, ::UIControl& ownerControl);
63 MCAPI ::UIAnim* _addAnimToComponent(::std::string_view name, ::UIResolvedDef& def, ::UIControl& ownerControl);
65 MCAPI ::std::shared_ptr<::UIControl> _createControlTree(
66 ::UIControlFactoryContext
const& templateControl,
67 ::UIControl
const& parent,
68 ::UIControl* childInsertPosition,
69 ::ui::ChildInsertPosition
72 MCAPI ::std::shared_ptr<::UIControl> _createControlTree(
73 ::UIControlFactoryContext
const& context,
74 ::std::string_view name,
75 ::ControlScreenAction& controlScreenAction,
77 ::ui::ChildInsertPosition childInsertPosition,
78 ::Json::Value* additionalVars,
79 bool isTemplateControl
82 MCAPI ::std::shared_ptr<::UIControl> _createControlTreeFromResolvedDef(
83 ::UIControlFactoryContext
const& context,
84 ::UIResolvedDef
const& resolvedDef,
85 ::UIControl* parentControl,
86 ::ControlScreenAction& controlScreenAction,
87 ::ui::ChildInsertPosition childInsertPosition,
88 bool isTemplateControl
91 MCAPI ::std::shared_ptr<::UIControl> _createControlTreeRootOnly(
92 ::UIControlFactoryContext
const& context,
93 ::std::string_view name,
94 ::ControlScreenAction& controlScreenAction
97 MCAPI ::std::shared_ptr<::UIControl> _createFromResolvedDef(
98 ::UIControlFactoryContext
const& context,
99 ::UIResolvedDef
const& resolvedDef,
100 ::UIControl* parentControl,
101 ::ControlScreenAction& controlScreenAction,
102 ::ui::ChildInsertPosition childInsertPosition,
103 bool isTemplateControl
106 MCAPI
void _createGradientRenderer(::CustomRenderComponent& customRenderComponent, ::UIResolvedDef
const& def);
108 MCAPI
void _createScrollTrack(::UIControl& control, ::UIResolvedDef
const& def);
110 MCAPI ::FontHandle _getFontFromFontType(::std::string
const& fontType)
const;
112 MCAPI
void _populateAnchoredOffsetComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
114 MCAPI
void _populateAnimations(::UIResolvedDef
const& def, ::UIControl& control);
116 MCAPI
void _populateButtonComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
118 MCAPI
void _populateCollectionComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
120 MCAPI
void _populateCollectionItemComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
122 MCAPI
void _populateControl(::UIResolvedDef
const& def, ::UIControl& control);
124 MCAPI
void _populateCustomFrameUpdateComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
126 MCAPI
void _populateCustomRenderComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
128 MCAPI
void _populateDataBindingComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
130 MCAPI
void _populateDebugRendererComponent(::UIResolvedDef
const& def, ::UIControl& control);
132 MCAPI
void _populateDropdownComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
134 MCAPI
void _populateFactoryComponent(
135 ::UIControlFactoryContext
const& context,
136 ::UIResolvedDef
const& def,
137 ::UIControl& ownerControl
140 MCAPI
void _populateFocusComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
142 MCAPI
void _populateFocusContainerComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
144 MCAPI
void _populateGestureComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
146 MCAPI
void _populateGridComponent(
147 ::UIControlFactoryContext
const& context,
148 ::UIResolvedDef
const& def,
149 ::UIControl& ownerControl
152 MCAPI
void _populateGridItemComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
154 MCAPI
void _populateImageCyclingComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
156 MCAPI
void _populateInputComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
158 MCAPI
void _populateLayoutComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
160 MCAPI
void _populatePageIndicatorGridComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
162 MCAPI
void _populatePageIndicatorManagerComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
164 MCAPI
void _populateScreenComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
166 MCAPI
void _populateScrollViewComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
168 MCAPI
void _populateScrollbarBoxComponent(::UIResolvedDef
const& ownerControl, ::UIControl&);
170 MCAPI
void _populateSelectionWheelComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
172 MCAPI
void _populateSliderBoxComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
174 MCAPI
void _populateSliderComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
176 MCAPI
void _populateSliderGroupManagerComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
178 MCAPI
void _populateSoundComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl,
bool alwaysCreate);
180 MCAPI
void _populateSpriteComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
182 MCAPI
void _populateStackPanelComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
184 MCAPI
void _populateTextComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
186 MCAPI
void _populateTextCyclingComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
188 MCAPI
void _populateTextEditComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
191 _populateTextToSpeechComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl,
int controlPriorityDefault);
193 MCAPI
void _populateTextToSpeechContainerComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
195 MCAPI
void _populateToggleComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
197 MCAPI
void _populateToggleGroupManagerComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
199 MCAPI
void _populateTooltipTriggerComponent(::UIResolvedDef
const& def, ::UIControl& ownerControl);
202 _postCreate(::UIControlFactoryContext
const& context, ::UIControl& control, ::UIResolvedDef
const& controlDef);
204 MCAPI ::ui::TileDirection
const
205 _resolveTileDirection(::UIResolvedDef
const& ownerDef, ::UIControl& propertyName, ::std::string
const&);
207 MCAPI
void _setName(::UIControl& control, ::UIResolvedDef
const& def, ::std::string
const& defaultName);
209 MCAPI ::std::shared_ptr<::UIControl> createControlTree(
210 ::UIControl
const& templateControl,
212 ::ui::ChildInsertPosition childInsertPosition
215 MCAPI ::std::shared_ptr<::UIControl> createControlTree(
216 ::std::string_view name,
217 ::ControlScreenAction& controlScreenAction,
219 ::ui::ChildInsertPosition childInsertPosition,
220 ::Json::Value* additionalVars,
221 bool isTemplateControl
224 MCAPI ::std::shared_ptr<::UIControl>
225 createControlTreeRootOnly(::std::string_view name, ::ControlScreenAction& controlScreenAction);
227 MCAPI ::std::shared_ptr<::UIControl> getInitSelectedControl()
const;
229 MCAPI
void setGlobalVars(::Json::Value
const& globalVars);
231 MCAPI ~UIControlFactory();
238 ::Bedrock::NotNullNonOwnerPtr<::IUIDefRepository const> uiDefRepo,
239 ::Json::Value
const& globalVars,
240 ::UISoundPlayer
const& soundPlayer,
241 ::FontHandle fontHandle,
242 ::FontHandle runeFontHandle,
243 ::FontHandle unicodeFontHandle,
244 ::FontHandle smoothFontHandle,
Definition ControlScreenAction.h:5
Definition CustomRenderComponent.h:5
Definition IUIDefRepository.h:5
Definition UIControlFactoryContext.h:5
Definition UIControlFactory.h:5
Definition UIResolvedDef.h:5
Definition UISoundPlayer.h:5