LeviLamina
Loading...
Searching...
No Matches
UIScene.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/GameEventNotification.h"
7#include "mc/client/gui/SceneType.h"
8#include "mc/client/gui/screens/BaseScreen.h"
9#include "mc/deps/core/utility/NonOwnerPointer.h"
10#include "mc/deps/input/InputMode.h"
11#include "mc/deps/input/TextboxTextUpdateReason.h"
12#include "mc/deps/input/enums/ButtonState.h"
13#include "mc/deps/input/enums/DirectionId.h"
14#include "mc/deps/input/enums/FocusImpact.h"
15#include "mc/deps/input/enums/RawInputType.h"
16
17// auto generated forward declare list
18// clang-format off
19class AbstractScene;
21class CachedScenes;
22class IClientInstance;
24class KeyboardManager;
25class LayoutManager;
27class RectangleArea;
28class ScreenContext;
30class ScreenView;
31class TaskGroup;
32class UIControl;
35class VisualTree;
39struct ScreenSizeData;
41// clang-format on
42
43class UIScene : public ::BaseScreen {
44public:
45 // member variables
46 // NOLINTBEGIN
47 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance>> mClientInstance;
48 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ScreenView>> mScreenView;
49 ::ll::TypedStorage<8, 64, ::std::function<void()>> mOnInitializedCallback;
50 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::AbstractSceneProxy>> mProxy;
51 // NOLINTEND
52
53public:
54 // prevent constructor by default
55 UIScene();
56
57public:
58 // virtual functions
59 // NOLINTBEGIN
60 virtual ~UIScene() /*override*/;
61
62 virtual bool isGamepadCursorEnabled() const /*override*/;
63
64 virtual bool isGamepadDeflectionModeEnabled() const /*override*/;
65
66 virtual ::glm::vec2 const& getGamepadCursorPosition() const /*override*/;
67
68 virtual ::std::vector<::RectangleArea> getInputAreas() const /*override*/;
69
70 virtual void cleanInputComponents() /*override*/;
71
72 virtual void onCreation() /*override*/;
73
74 virtual void onLeave() /*override*/;
75
76 virtual bool canBePushed() const /*override*/;
77
78 virtual bool canBePopped() const /*override*/;
79
80 virtual bool canBeTransitioned() const /*override*/;
81
82 virtual void
83 onScreenExit(bool isPopping, bool doScreenTransitions, ::std::shared_ptr<::AbstractScene> pushedScene) /*override*/;
84
85 virtual void onScreenEntrance(bool isRevisiting, bool doScreenTransitions) /*override*/;
86
87 virtual bool isEntering() const /*override*/;
88
89 virtual bool isExiting() const /*override*/;
90
91 virtual void schedulePop() /*override*/;
92
93 virtual bool isTerminating() const /*override*/;
94
95 virtual bool loadScreenImmediately() const /*override*/;
96
97 virtual ::std::weak_ptr<::AbstractSceneProxy> getProxy() /*override*/;
98
99 virtual void setScreenState(
100 ::std::vector<::std::pair<::std::string_view, ::std::string_view>> const& routeQueryParameters
101 ) /*override*/;
102
103 virtual ::RectangleArea getAreaOfControlByName(::std::string const& controlName) const /*override*/;
104
105 virtual void init(::ScreenSizeData const& screenSizeData) /*override*/;
106
107 virtual void onSetKeyboardHeight(float keyboardHeight) /*override*/;
108
109 virtual void onFocusLost() /*override*/;
110
111 virtual void onInternetUpdate() /*override*/;
112
113 virtual bool renderGameBehind() const /*override*/;
114
115 virtual bool closeOnPlayerHurt() const /*override*/;
116
117 virtual bool useCustomPocketToast() const /*override*/;
118
119 virtual void setSize(::ScreenSizeData const& screenSizeData) /*override*/;
120
121 virtual void handleButtonPress(uint buttonId, ::FocusImpact focusImpact) /*override*/;
122
123 virtual void handleButtonRelease(uint buttonId, ::FocusImpact focusImpact) /*override*/;
124
125 virtual bool handlePointerLocation(
126 ::PointerLocationEventData const& pointerLocationData,
127 ::FocusImpact focusImpact
128 ) /*override*/;
129
130 virtual void handlePointerPressed(bool) /*override*/;
131
132 virtual void handleLicenseChanged() /*override*/;
133
134 virtual void terminate() /*override*/;
135
136 virtual void onFocusGained() /*override*/;
137
138 virtual void onGameEventNotification(::ui::GameEventNotification notification) /*override*/;
139
140 virtual void reload() /*override*/;
141
142 virtual void leaveScreen() /*override*/;
143
144 virtual void preFrameTick() /*override*/;
145
146 virtual void frameUpdate(::MinecraftUIFrameUpdateContext& frameUpdateContext) /*override*/;
147
148 virtual void render(::ScreenContext& screenContext, ::FrameRenderObject const&) /*override*/;
149
150 virtual void applyInput(float) /*override*/;
151
152 virtual void handleInputModeChanged(::InputMode inputMode) /*override*/;
153
154 virtual void
155 handleRawInputEvent(int id, ::RawInputType keyType, ::ButtonState state, bool allowRemapping) /*override*/;
156
157 virtual void handleDirection(::DirectionId directionId, float x, float y, ::FocusImpact focusImpact) /*override*/;
158
159 virtual void handleTextChar(::std::string const& inputUtf8, ::FocusImpact focusImpact) /*override*/;
160
161 virtual void
162 handleTouchPadTouch(::TouchPadTouchEventData const& touchEventData, ::FocusImpact focusImpact) /*override*/;
163
164 virtual void setTextboxText(::std::string const& text, ::TextboxTextUpdateReason reason) /*override*/;
165
166 virtual void onKeyboardDismissed() /*override*/;
167
168 virtual bool absorbsInput() const /*override*/;
169
170 virtual bool screenIsNotFlushable() const /*override*/;
171
172 virtual bool alwaysAcceptsInput() const /*override*/;
173
174 virtual bool isShowingMenu() const /*override*/;
175
176 virtual bool isModal() const /*override*/;
177
178 virtual bool shouldStealMouse() const /*override*/;
179
180 virtual bool screenDrawsLast() const /*override*/;
181
182 virtual bool shouldBeSkippedInAutomation() const /*override*/;
183
184 virtual int getWidth() /*override*/;
185
186 virtual int getHeight() /*override*/;
187
188 virtual bool renderOnlyWhenTopMost() const /*override*/;
189
190 virtual bool lowFreqRendering() const /*override*/;
191
192 virtual bool ignoreAsTop() const /*override*/;
193
194 virtual ::ui::SceneType getSceneType() const /*override*/;
195
196 virtual ::std::string getRawScreenName() const /*override*/;
197
198 virtual ::std::string getScreenName() const /*override*/;
199
200 virtual bool equalsScreenName(::std::string_view comparison) const /*override*/;
201
202 virtual bool containsScreenNameSubstring(::std::string_view substring) const /*override*/;
203
204 virtual ::std::string getRoute() const /*override*/;
205
206 virtual ::std::string getScreenTelemetryName() const /*override*/;
207
208 virtual bool getShouldSendEvents() /*override*/;
209
210 virtual void setShouldSendEvents(bool shouldSendEvents) /*override*/;
211
212 virtual void addEventProperties(::std::unordered_map<::std::string, ::std::string>& eventProperties) const
213 /*override*/;
214
215 virtual int getScreenVersion() const /*override*/;
216
217 virtual void onDelete(::CachedScenes& cache, ::TaskGroup& taskGroup) /*override*/;
218 // NOLINTEND
219
220public:
221 // member functions
222 // NOLINTBEGIN
223 MCAPI UIScene(
224 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const& client,
225 ::KeyboardManager& keyboardManager,
226 ::std::shared_ptr<::ScreenController> controller,
227 ::std::unique_ptr<::VisualTree> visualTree,
228 ::std::shared_ptr<::UIControlFactory> controlFactory,
229 ::UIMeasureStrategy& measureStrategy,
230 ::std::unique_ptr<::LayoutManager> layoutManager,
231 ::GamepadCursorData gamepadCursorData,
232 ::std::weak_ptr<::ITTSEventManager> ttsEventManager
233 );
234
235 MCAPI ::ScreenController& getController();
236
237 MCAPI ::std::shared_ptr<::UIControl> getFocusedControl() const;
238
239 MCAPI void setInitializedCallback(::std::function<void()> initializedCallback);
240
241 MCAPI bool wasDirectionalButtonPressed() const;
242 // NOLINTEND
243
244public:
245 // constructor thunks
246 // NOLINTBEGIN
247 MCAPI void* $ctor(
248 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const& client,
249 ::KeyboardManager& keyboardManager,
250 ::std::shared_ptr<::ScreenController> controller,
251 ::std::unique_ptr<::VisualTree> visualTree,
252 ::std::shared_ptr<::UIControlFactory> controlFactory,
253 ::UIMeasureStrategy& measureStrategy,
254 ::std::unique_ptr<::LayoutManager> layoutManager,
255 ::GamepadCursorData gamepadCursorData,
256 ::std::weak_ptr<::ITTSEventManager> ttsEventManager
257 );
258 // NOLINTEND
259
260public:
261 // destructor thunk
262 // NOLINTBEGIN
263 MCAPI void $dtor();
264 // NOLINTEND
265
266public:
267 // virtual function thunks
268 // NOLINTBEGIN
269 MCAPI bool $isGamepadCursorEnabled() const;
270
271 MCAPI bool $isGamepadDeflectionModeEnabled() const;
272
273 MCAPI ::glm::vec2 const& $getGamepadCursorPosition() const;
274
275 MCAPI ::std::vector<::RectangleArea> $getInputAreas() const;
276
277 MCAPI void $cleanInputComponents();
278
279 MCAPI void $onCreation();
280
281 MCAPI void $onLeave();
282
283 MCAPI bool $canBePushed() const;
284
285 MCAPI bool $canBePopped() const;
286
287 MCAPI bool $canBeTransitioned() const;
288
289 MCAPI void $onScreenExit(bool isPopping, bool doScreenTransitions, ::std::shared_ptr<::AbstractScene> pushedScene);
290
291 MCAPI void $onScreenEntrance(bool isRevisiting, bool doScreenTransitions);
292
293 MCAPI bool $isEntering() const;
294
295 MCAPI bool $isExiting() const;
296
297 MCAPI void $schedulePop();
298
299 MCAPI bool $isTerminating() const;
300
301 MCAPI bool $loadScreenImmediately() const;
302
303 MCAPI ::std::weak_ptr<::AbstractSceneProxy> $getProxy();
304
305 MCAPI void
306 $setScreenState(::std::vector<::std::pair<::std::string_view, ::std::string_view>> const& routeQueryParameters);
307
308 MCAPI ::RectangleArea $getAreaOfControlByName(::std::string const& controlName) const;
309
310 MCAPI void $init(::ScreenSizeData const& screenSizeData);
311
312 MCAPI void $onSetKeyboardHeight(float keyboardHeight);
313
314 MCAPI void $onFocusLost();
315
316 MCAPI void $onInternetUpdate();
317
318 MCAPI bool $renderGameBehind() const;
319
320 MCAPI bool $closeOnPlayerHurt() const;
321
322 MCAPI bool $useCustomPocketToast() const;
323
324 MCAPI void $setSize(::ScreenSizeData const& screenSizeData);
325
326 MCAPI void $handleButtonPress(uint buttonId, ::FocusImpact focusImpact);
327
328 MCAPI void $handleButtonRelease(uint buttonId, ::FocusImpact focusImpact);
329
330 MCAPI bool $handlePointerLocation(::PointerLocationEventData const& pointerLocationData, ::FocusImpact focusImpact);
331
332 MCFOLD void $handlePointerPressed(bool);
333
334 MCAPI void $handleLicenseChanged();
335
336 MCAPI void $terminate();
337
338 MCAPI void $onFocusGained();
339
340 MCAPI void $onGameEventNotification(::ui::GameEventNotification notification);
341
342 MCAPI void $reload();
343
344 MCAPI void $leaveScreen();
345
346 MCAPI void $preFrameTick();
347
348 MCAPI void $frameUpdate(::MinecraftUIFrameUpdateContext& frameUpdateContext);
349
350 MCAPI void $render(::ScreenContext& screenContext, ::FrameRenderObject const&);
351
352 MCAPI void $applyInput(float);
353
354 MCAPI void $handleInputModeChanged(::InputMode inputMode);
355
356 MCAPI void $handleRawInputEvent(int id, ::RawInputType keyType, ::ButtonState state, bool allowRemapping);
357
358 MCAPI void $handleDirection(::DirectionId directionId, float x, float y, ::FocusImpact focusImpact);
359
360 MCAPI void $handleTextChar(::std::string const& inputUtf8, ::FocusImpact focusImpact);
361
362 MCAPI void $handleTouchPadTouch(::TouchPadTouchEventData const& touchEventData, ::FocusImpact focusImpact);
363
364 MCAPI void $setTextboxText(::std::string const& text, ::TextboxTextUpdateReason reason);
365
366 MCAPI void $onKeyboardDismissed();
367
368 MCAPI bool $absorbsInput() const;
369
370 MCAPI bool $screenIsNotFlushable() const;
371
372 MCAPI bool $alwaysAcceptsInput() const;
373
374 MCAPI bool $isShowingMenu() const;
375
376 MCAPI bool $isModal() const;
377
378 MCAPI bool $shouldStealMouse() const;
379
380 MCAPI bool $screenDrawsLast() const;
381
382 MCAPI bool $shouldBeSkippedInAutomation() const;
383
384 MCAPI int $getWidth();
385
386 MCAPI int $getHeight();
387
388 MCAPI bool $renderOnlyWhenTopMost() const;
389
390 MCAPI bool $lowFreqRendering() const;
391
392 MCAPI bool $ignoreAsTop() const;
393
394 MCAPI ::ui::SceneType $getSceneType() const;
395
396 MCAPI ::std::string $getRawScreenName() const;
397
398 MCAPI ::std::string $getScreenName() const;
399
400 MCAPI bool $equalsScreenName(::std::string_view comparison) const;
401
402 MCAPI bool $containsScreenNameSubstring(::std::string_view substring) const;
403
404 MCAPI ::std::string $getRoute() const;
405
406 MCAPI ::std::string $getScreenTelemetryName() const;
407
408 MCAPI bool $getShouldSendEvents();
409
410 MCAPI void $setShouldSendEvents(bool shouldSendEvents);
411
412 MCAPI void $addEventProperties(::std::unordered_map<::std::string, ::std::string>& eventProperties) const;
413
414 MCAPI int $getScreenVersion() const;
415
416 MCAPI void $onDelete(::CachedScenes& cache, ::TaskGroup& taskGroup);
417 // NOLINTEND
418
419public:
420 // vftables
421 // NOLINTBEGIN
422 MCNAPI static void** $vftable();
423 // NOLINTEND
424};
Definition AbstractSceneProxy.h:5
Definition AbstractScene.h:5
Definition BaseScreen.h:5
Definition CachedScenes.h:5
Definition IClientInstance.h:5
Definition ITTSEventManager.h:5
Definition KeyboardManager.h:5
Definition LayoutManager.h:5
Definition MinecraftUIFrameUpdateContext.h:5
Definition RectangleArea.h:5
Definition ScreenContext.h:5
Definition ScreenController.h:5
Definition ScreenView.h:5
Definition TaskGroup.h:55
Definition UIControlFactory.h:5
Definition UIControl.h:5
Definition UIMeasureStrategy.h:5
Definition UIScene.h:5
static MCAPI void ** $vftable()
Definition VisualTree.h:5
Definition FrameRenderObject.h:5
Definition GamepadCursorData.h:5
Definition PointerLocationEventData.h:5
Definition ScreenSizeData.h:5
Definition TouchPadTouchEventData.h:5