LeviLamina
Loading...
Searching...
No Matches
SceneStack.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/oreui/routing/RouteAction.h"
9#include "mc/client/gui/screens/interfaces/ISceneStack.h"
10#include "mc/deps/core/utility/NonOwnerPointer.h"
11#include "mc/deps/core/utility/pub_sub/Publisher.h"
12#include "mc/deps/core/utility/pub_sub/Subscription.h"
13#include "mc/platform/brstd/function_ref.h"
14
15// auto generated forward declare list
16// clang-format off
17class AbstractScene;
18class CachedScenes;
19class Options;
20class SceneStackProxy;
21class TaskGroup;
23struct ScreenThreshold;
25namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
26// clang-format on
27
28class SceneStack : public ::ISceneStack {
29public:
30 // SceneStack inner types declare
31 // clang-format off
32 class SceneStackEvent;
33 class PushScreenEvent;
34 class PopScreenEvent;
36 class FlushScreenEvent;
38 // clang-format on
39
40 // SceneStack inner types define
41 class SceneStackEvent {
42 public:
43 // SceneStackEvent inner types define
44 enum class EventType : int {
45 Push = 0,
46 Pop = 1,
47 PopRangeOfType = 2,
48 Flush = 3,
49 Reload = 4,
50 };
51
52 public:
53 // member variables
54 // NOLINTBEGIN
55 ::ll::TypedStorage<4, 4, ::SceneStack::SceneStackEvent::EventType> mType;
56 // NOLINTEND
57
58 public:
59 // virtual functions
60 // NOLINTBEGIN
61 virtual ~SceneStackEvent();
62 // NOLINTEND
63
64 public:
65 // destructor thunk
66 // NOLINTBEGIN
67 MCFOLD void $dtor();
68 // NOLINTEND
69
70 public:
71 // vftables
72 // NOLINTBEGIN
73 MCNAPI static void** $vftable();
74 // NOLINTEND
75 };
76
78 public:
79 // member variables
80 // NOLINTBEGIN
81 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::AbstractScene>> mScene;
82 ::ll::TypedStorage<8, 48, ::std::optional<::OreUI::RouteAction>> mRouteAction;
83 // NOLINTEND
84
85 public:
86 // prevent constructor by default
88
89 public:
90 // virtual functions
91 // NOLINTBEGIN
92 virtual ~PushScreenEvent() /*override*/ = default;
93 // NOLINTEND
94
95 public:
96 // member functions
97 // NOLINTBEGIN
98 MCAPI
99 PushScreenEvent(::std::shared_ptr<::AbstractScene> scene, ::std::optional<::OreUI::RouteAction> routeAction);
100 // NOLINTEND
101
102 public:
103 // constructor thunks
104 // NOLINTBEGIN
105 MCAPI void* $ctor(::std::shared_ptr<::AbstractScene> scene, ::std::optional<::OreUI::RouteAction> routeAction);
106 // NOLINTEND
107
108 public:
109 // vftables
110 // NOLINTBEGIN
111 MCNAPI static void** $vftable();
112 // NOLINTEND
113 };
114
116 public:
117 // member variables
118 // NOLINTBEGIN
119 ::ll::TypedStorage<4, 4, int> mPopCount;
120 ::ll::TypedStorage<8, 48, ::std::optional<::OreUI::RouteAction>> mRouteAction;
121 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mExpectedScreenNames;
122 // NOLINTEND
123
124 public:
125 // virtual functions
126 // NOLINTBEGIN
127 virtual ~PopScreenEvent() /*override*/ = default;
128 // NOLINTEND
129
130 public:
131 // vftables
132 // NOLINTBEGIN
133 MCNAPI static void** $vftable();
134 // NOLINTEND
135 };
136
138 public:
139 // member variables
140 // NOLINTBEGIN
141 ::ll::TypedStorage<4, 4, ::ui::SceneType> mSceneType;
142 ::ll::TypedStorage<4, 4, ::ui::SceneType> mSceneTypeExclusions;
143 ::ll::TypedStorage<4, 4, int> mPopCount;
144 // NOLINTEND
145
146 public:
147 // virtual functions
148 // NOLINTBEGIN
149 virtual ~PopRangeOfTypeScreenEvent() /*override*/ = default;
150 // NOLINTEND
151
152 public:
153 // vftables
154 // NOLINTBEGIN
155 MCNAPI static void** $vftable();
156 // NOLINTEND
157 };
158
160 public:
161 // member variables
162 // NOLINTBEGIN
163 ::ll::TypedStorage<1, 1, bool> mIgnoreNotFlushableFlag;
164 ::ll::TypedStorage<1, 1, bool> mIgnoreTransitions;
165 ::ll::TypedStorage<8, 64, ::std::function<void()>> mPostFlushCallback;
166 // NOLINTEND
167
168 public:
169 // virtual functions
170 // NOLINTBEGIN
171 virtual ~FlushScreenEvent() /*override*/ = default;
172 // NOLINTEND
173
174 public:
175 // vftables
176 // NOLINTBEGIN
177 MCNAPI static void** $vftable();
178 // NOLINTEND
179 };
180
182 public:
183 // virtual functions
184 // NOLINTBEGIN
185 virtual ~ReloadScreenEvent() /*override*/ = default;
186 // NOLINTEND
187
188 public:
189 // vftables
190 // NOLINTBEGIN
191 MCNAPI static void** $vftable();
192 // NOLINTEND
193 };
194
195public:
196 // member variables
197 // NOLINTBEGIN
198 ::ll::TypedStorage<8, 24, ::std::vector<::ISceneStack::SceneElement>> mScreenStack;
199 ::ll::TypedStorage<8, 8, ::CachedScenes&> mCachedScreens;
200 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::SceneStack::SceneStackEvent>>> mStackEvents;
201 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::SceneStack::SceneStackEvent>>> mQueuedStackEvents;
202 ::ll::TypedStorage<8, 24, ::std::vector<::ScreenThreshold>> mScreenThresholds;
203 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mDestroyScreenTaskGroup;
204 ::ll::TypedStorage<4, 4, int> mActiveStackSize;
205 ::ll::TypedStorage<4, 4, int> mScheduledScreenPushCount;
206 ::ll::TypedStorage<4, 4, int> mScheduledScreenPopCount;
207 ::ll::TypedStorage<1, 1, bool> mScreenNeedsEntrance;
208 ::ll::TypedStorage<8, 32, ::std::string> mLastPoppedScreenName;
209 ::ll::TypedStorage<1, 1, bool> mChangedThisFrame;
210 ::ll::TypedStorage<1, 1, bool> mScreenIsTicking;
211 ::ll::TypedStorage<1, 1, bool> mReloadScenesOnNextPop;
212 ::ll::TypedStorage<1, 1, bool> mDeferUpdatesUntilNextTick;
213 ::ll::TypedStorage<1, 1, bool> mBufferTextCharEvents;
214 ::ll::TypedStorage<8, 24, ::std::vector<::TextCharEventData>> mBufferedTextCharEventData;
215 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::Options>> mOptions;
216 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mAsyncLoadOptionSubscription;
217 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mScreenAnimationsSubscription;
219 mSceneStackDestroyedPublisher;
220 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<void*, ::std::function<void(::AbstractScene&)>>>>
221 mSceneChangeCallbacks;
222 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<void*, ::std::function<void(::AbstractScene&)>>>>
223 mPrePushSceneCallbacks;
224 ::ll::TypedStorage<
225 8,
226 24,
227 ::std::vector<::std::pair<
228 void*,
229 ::std::function<void(::std::shared_ptr<::AbstractScene>, ::std::optional<::OreUI::RouteAction>)>>>>
230 mPushSceneCallbacks;
231 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<void*, ::std::function<void(::AbstractScene*)>>>>
232 mPrePopSceneCallbacks;
233 ::ll::TypedStorage<
234 8,
235 24,
236 ::std::vector<::std::pair<
237 void*,
238 ::std::function<void(::std::shared_ptr<::AbstractScene>, bool, ::std::optional<::OreUI::RouteAction>)>>>>
239 mPopSceneCallbacks;
240 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SceneStackProxy>> mProxy;
241 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::UIEventCoordinator>> mUIEventCoordinator;
242 ::ll::TypedStorage<8, 64, ::std::function<bool()>> mGetSuspended;
243 // NOLINTEND
244
245public:
246 // prevent constructor by default
247 SceneStack& operator=(SceneStack const&);
248 SceneStack(SceneStack const&);
249 SceneStack();
250
251public:
252 // virtual functions
253 // NOLINTBEGIN
254 virtual ~SceneStack() /*override*/;
255
256 virtual void reload() /*override*/;
257
258 virtual void setOptions(::std::weak_ptr<::Options> options) /*override*/;
259
260 virtual void
261 registerSceneChangeCallback(void* token, ::std::function<void(::AbstractScene&)> sceneChangeCallback) /*override*/;
262
263 virtual void unregisterSceneChangeCallback(void* token) /*override*/;
264
265 virtual void registerPrePushSceneCallback(
266 void* token,
267 ::std::function<void(::AbstractScene&)> prePushSceneCallback
268 ) /*override*/;
269
270 virtual void unregisterPrePushSceneCallback(void* token) /*override*/;
271
272 virtual void registerPushSceneCallback(
273 void* token,
274 ::std::function<void(::std::shared_ptr<::AbstractScene>, ::std::optional<::OreUI::RouteAction>)>
275 pushSceneCallback
276 ) /*override*/;
277
278 virtual void unregisterPushSceneCallback(void* token) /*override*/;
279
280 virtual void
281 registerPrePopSceneCallback(void* token, ::std::function<void(::AbstractScene*)> prePopSceneCallback) /*override*/;
282
283 virtual void unregisterPrePopSceneCallback(void* token) /*override*/;
284
285 virtual void registerPopSceneCallback(
286 void* token,
287 ::std::function<void(::std::shared_ptr<::AbstractScene>, bool, ::std::optional<::OreUI::RouteAction>)>
288 popSceneCallback
289 ) /*override*/;
290
291 virtual void unregisterPopSceneCallback(void* token) /*override*/;
292
293 virtual void forEachVisibleScreen(
294 ::brstd::function_ref<void(::AbstractScene&)> callback,
295 bool tickedLastFrame,
296 bool splitscreenRenderBypassThisFrame
297 ) /*override*/;
298
299 virtual void forEachScreen(::brstd::function_ref<bool(::AbstractScene&)> callback, bool topDown) /*override*/;
300
301 virtual void forEachScreenConst(::brstd::function_ref<bool(::AbstractScene const&)> callback, bool topDown) const
302 /*override*/;
303
304 virtual void forEachAlwaysAcceptInputScreen(
305 ::brstd::function_ref<void(::AbstractScene&)> callback,
306 ::AbstractScene const* ignoreScreen
307 ) /*override*/;
308
309 virtual void
310 forEachAlwaysAcceptInputScreenWithTop(::brstd::function_ref<void(::AbstractScene&)> callback) /*override*/;
311
312 virtual void pushScreenWithRouteAction(
313 ::std::shared_ptr<::AbstractScene> newScreen,
314 ::OreUI::RouteAction const& routeAction
315 ) /*override*/;
316
317 virtual void popScreenWithRouteAction(::OreUI::RouteAction const& routeAction) /*override*/;
318
319 virtual void pushScreen(::std::shared_ptr<::AbstractScene> newScreen, bool flush) /*override*/;
320
321 virtual void schedulePopScreen(int totalPopNumber) /*override*/;
322
323 virtual void
324 schedulePopScreenWithExpectedNames(::std::vector<::std::string> const& expectedScreenNames) /*override*/;
325
326 virtual void flushStack(
327 bool immediate,
328 bool ignoreNotFlushableFlag,
329 bool ignoreTransitions,
330 ::std::function<void()> postFlushCallback
331 ) /*override*/;
332
333 virtual void deferUpdatesUntilNextTick() /*override*/;
334
335 virtual ::std::optional<uint64> getFirstSceneIndexOfSceneType(::ui::SceneType sceneType) const /*override*/;
336
337 virtual bool popScreensBackTo(::ui::SceneType const sceneType) /*override*/;
338
339 virtual bool popScreensBackToFirstInstanceOf(::ui::SceneType const sceneType) /*override*/;
340
341 virtual bool popTopScreensOfType(::ui::SceneType const sceneType) /*override*/;
342
343 virtual bool update() /*override*/;
344
345 virtual void resetScreenChangeDirtyFlag() /*override*/;
346
347 virtual bool hasChangedThisFrame() const /*override*/;
348
349 virtual bool isEmpty() const /*override*/;
350
351 virtual uint64 getSize() const /*override*/;
352
353 virtual void setScreenTickingFlag(bool screenIsTicking) /*override*/;
354
355 virtual bool getScreenTickingFlag() const /*override*/;
356
357 virtual ::ui::SceneType getNonTerminatingSceneType() const /*override*/;
358
359 virtual ::std::vector<::std::string> getScreenNames() const /*override*/;
360
361 virtual ::std::vector<::std::string> getScreenTelemetryNames() const /*override*/;
362
363 virtual ::std::string getScreenName() const /*override*/;
364
365 virtual ::std::string getScreenTelemetry() const /*override*/;
366
367 virtual ::std::string const& getLastPoppedScreenName() const /*override*/;
368
369 virtual void handleLicenseChanged() /*override*/;
370
371 virtual void onGameEventNotification(::ui::GameEventNotification notification) /*override*/;
372
373 virtual ::AbstractScene* getTopScene() /*override*/;
374
375 virtual ::AbstractScene const* getTopScene() const /*override*/;
376
377 virtual ::std::shared_ptr<::AbstractScene> getTopSceneShared() const /*override*/;
378
379 virtual ::AbstractScene* getActiveScene() /*override*/;
380
381 virtual ::AbstractScene const* getActiveScene() const /*override*/;
382
383 virtual ::std::shared_ptr<::AbstractScene> getSharedNonTerminatingActiveScene() /*override*/;
384
385 virtual ::std::shared_ptr<::AbstractScene const> const getSharedNonTerminatingActiveScene() const /*override*/;
386
387 virtual ::gsl::span<::ISceneStack::SceneElement const> getScreenStackView() const /*override*/;
388
389 virtual int getScheduledPopCount() const /*override*/;
390
391 virtual bool isScreenReplaceable() const /*override*/;
392
393 virtual void handleTextChar(::std::string const& inputUtf8) /*override*/;
394
395 virtual void setBufferTextCharEvents(bool pushTextCharEvents) /*override*/;
396
397 virtual bool isBufferingTextCharEvents() const /*override*/;
398
399 virtual bool isOnSceneStack(::ui::SceneType sceneType) const /*override*/;
400
401 virtual bool isOnSceneStack(::std::string const& screenName) const /*override*/;
402
403 virtual ::SceneStackProxy* getProxy() /*override*/;
404
405 virtual bool hasScheduledScreens() const /*override*/;
406
407 virtual bool hasScheduledEvents() const /*override*/;
408
409 virtual void setScreenThreshold(::ScreenThreshold const& screenThreshold) /*override*/;
410
411 virtual ::Bedrock::PubSub::Subscription
412 registerSceneStackDestroyedListener(::std::function<void()> callback) /*override*/;
413 // NOLINTEND
414
415public:
416 // member functions
417 // NOLINTBEGIN
418 MCAPI SceneStack(
419 ::CachedScenes& cachedScenes,
420 ::Bedrock::NotNullNonOwnerPtr<::UIEventCoordinator> const& uiEventCoordinator,
421 ::std::function<bool()> const& getSuspended
422 );
423
424 MCAPI bool _animationsEnabled() const;
425
426 MCAPI bool _handleFlushEvent(::SceneStack::FlushScreenEvent const& flushEvent);
427
428 MCAPI bool _handlePopRangeOfScreensEvent(::SceneStack::PopRangeOfTypeScreenEvent& popRangeEvent);
429
430 MCAPI bool _handlePushEvent(::SceneStack::PushScreenEvent& pushEvent);
431
432 MCAPI bool _popScreens(
433 int& popCount,
434 bool ignoreTransitions,
435 ::std::optional<::OreUI::RouteAction> routeAction,
436 ::std::vector<::std::string> const& expectedScreenNames
437 );
438
439 MCAPI bool _scenesAllIgnoreAsTop(int count) const;
440
441 MCAPI void _schedulePopScreen(
442 int totalPopNumber,
443 ::std::optional<::OreUI::RouteAction> routeAction,
444 ::std::vector<::std::string> const& expectedScreenNames
445 );
446
447 MCAPI void _schedulePushScreen(
448 ::std::shared_ptr<::AbstractScene> newScreen,
449 bool flush,
450 ::std::optional<::OreUI::RouteAction> routeAction
451 );
452 // NOLINTEND
453
454public:
455 // static functions
456 // NOLINTBEGIN
457 MCAPI static void _forEachVisibleScreen(
458 ::brstd::function_ref<void(::AbstractScene&)> callback,
459 ::std::function<::AbstractScene*(int)> getScreen,
460 bool,
461 bool splitscreenRenderBypassThisFrame,
462 uint64 topStackIndex,
463 uint64 startIndex,
464 uint64 endIndex,
465 bool renderDrawLastScreens
466 );
467
468 MCAPI static void forEachVisibleScreen(
469 ::brstd::function_ref<void(::AbstractScene&)> callback,
470 ::std::function<::AbstractScene*(int)> getScreen,
471 bool tickedLastFrame,
472 bool splitscreenRenderBypassThisFrame,
473 int size
474 );
475 // NOLINTEND
476
477public:
478 // constructor thunks
479 // NOLINTBEGIN
480 MCAPI void* $ctor(
481 ::CachedScenes& cachedScenes,
482 ::Bedrock::NotNullNonOwnerPtr<::UIEventCoordinator> const& uiEventCoordinator,
483 ::std::function<bool()> const& getSuspended
484 );
485 // NOLINTEND
486
487public:
488 // destructor thunk
489 // NOLINTBEGIN
490 MCAPI void $dtor();
491 // NOLINTEND
492
493public:
494 // virtual function thunks
495 // NOLINTBEGIN
496 MCAPI void $reload();
497
498 MCAPI void $setOptions(::std::weak_ptr<::Options> options);
499
500 MCAPI void $registerSceneChangeCallback(void* token, ::std::function<void(::AbstractScene&)> sceneChangeCallback);
501
502 MCAPI void $unregisterSceneChangeCallback(void* token);
503
504 MCAPI void $registerPrePushSceneCallback(void* token, ::std::function<void(::AbstractScene&)> prePushSceneCallback);
505
506 MCAPI void $unregisterPrePushSceneCallback(void* token);
507
508 MCAPI void $registerPushSceneCallback(
509 void* token,
510 ::std::function<void(::std::shared_ptr<::AbstractScene>, ::std::optional<::OreUI::RouteAction>)>
511 pushSceneCallback
512 );
513
514 MCAPI void $unregisterPushSceneCallback(void* token);
515
516 MCAPI void $registerPrePopSceneCallback(void* token, ::std::function<void(::AbstractScene*)> prePopSceneCallback);
517
518 MCAPI void $unregisterPrePopSceneCallback(void* token);
519
520 MCAPI void $registerPopSceneCallback(
521 void* token,
522 ::std::function<void(::std::shared_ptr<::AbstractScene>, bool, ::std::optional<::OreUI::RouteAction>)>
523 popSceneCallback
524 );
525
526 MCAPI void $unregisterPopSceneCallback(void* token);
527
528 MCAPI void $forEachVisibleScreen(
529 ::brstd::function_ref<void(::AbstractScene&)> callback,
530 bool tickedLastFrame,
531 bool splitscreenRenderBypassThisFrame
532 );
533
534 MCFOLD void $forEachScreen(::brstd::function_ref<bool(::AbstractScene&)> callback, bool topDown);
535
536 MCFOLD void $forEachScreenConst(::brstd::function_ref<bool(::AbstractScene const&)> callback, bool topDown) const;
537
538 MCAPI void $forEachAlwaysAcceptInputScreen(
539 ::brstd::function_ref<void(::AbstractScene&)> callback,
540 ::AbstractScene const* ignoreScreen
541 );
542
543 MCAPI void $forEachAlwaysAcceptInputScreenWithTop(::brstd::function_ref<void(::AbstractScene&)> callback);
544
545 MCAPI void
546 $pushScreenWithRouteAction(::std::shared_ptr<::AbstractScene> newScreen, ::OreUI::RouteAction const& routeAction);
547
548 MCAPI void $popScreenWithRouteAction(::OreUI::RouteAction const& routeAction);
549
550 MCAPI void $pushScreen(::std::shared_ptr<::AbstractScene> newScreen, bool flush);
551
552 MCAPI void $schedulePopScreen(int totalPopNumber);
553
554 MCAPI void $schedulePopScreenWithExpectedNames(::std::vector<::std::string> const& expectedScreenNames);
555
556 MCAPI void $flushStack(
557 bool immediate,
558 bool ignoreNotFlushableFlag,
559 bool ignoreTransitions,
560 ::std::function<void()> postFlushCallback
561 );
562
563 MCAPI void $deferUpdatesUntilNextTick();
564
565 MCAPI ::std::optional<uint64> $getFirstSceneIndexOfSceneType(::ui::SceneType sceneType) const;
566
567 MCAPI bool $popScreensBackTo(::ui::SceneType const sceneType);
568
569 MCAPI bool $popScreensBackToFirstInstanceOf(::ui::SceneType const sceneType);
570
571 MCAPI bool $popTopScreensOfType(::ui::SceneType const sceneType);
572
573 MCAPI bool $update();
574
575 MCAPI void $resetScreenChangeDirtyFlag();
576
577 MCFOLD bool $hasChangedThisFrame() const;
578
579 MCAPI bool $isEmpty() const;
580
581 MCAPI uint64 $getSize() const;
582
583 MCAPI void $setScreenTickingFlag(bool screenIsTicking);
584
585 MCAPI bool $getScreenTickingFlag() const;
586
587 MCAPI ::ui::SceneType $getNonTerminatingSceneType() const;
588
589 MCAPI ::std::vector<::std::string> $getScreenNames() const;
590
591 MCAPI ::std::vector<::std::string> $getScreenTelemetryNames() const;
592
593 MCAPI ::std::string $getScreenName() const;
594
595 MCAPI ::std::string $getScreenTelemetry() const;
596
597 MCFOLD ::std::string const& $getLastPoppedScreenName() const;
598
599 MCAPI void $handleLicenseChanged();
600
601 MCAPI void $onGameEventNotification(::ui::GameEventNotification notification);
602
603 MCFOLD ::AbstractScene* $getTopScene();
604
605 MCFOLD ::AbstractScene const* $getTopScene() const;
606
607 MCAPI ::std::shared_ptr<::AbstractScene> $getTopSceneShared() const;
608
609 MCFOLD ::AbstractScene* $getActiveScene();
610
611 MCFOLD ::AbstractScene const* $getActiveScene() const;
612
613 MCFOLD ::std::shared_ptr<::AbstractScene> $getSharedNonTerminatingActiveScene();
614
615 MCFOLD ::std::shared_ptr<::AbstractScene const> const $getSharedNonTerminatingActiveScene() const;
616
617 MCAPI ::gsl::span<::ISceneStack::SceneElement const> $getScreenStackView() const;
618
619 MCFOLD int $getScheduledPopCount() const;
620
621 MCAPI bool $isScreenReplaceable() const;
622
623 MCAPI void $handleTextChar(::std::string const& inputUtf8);
624
625 MCAPI void $setBufferTextCharEvents(bool pushTextCharEvents);
626
627 MCAPI bool $isBufferingTextCharEvents() const;
628
629 MCAPI bool $isOnSceneStack(::ui::SceneType sceneType) const;
630
631 MCAPI bool $isOnSceneStack(::std::string const& screenName) const;
632
633 MCFOLD ::SceneStackProxy* $getProxy();
634
635 MCAPI bool $hasScheduledScreens() const;
636
637 MCAPI bool $hasScheduledEvents() const;
638
639 MCAPI void $setScreenThreshold(::ScreenThreshold const& screenThreshold);
640
641 MCFOLD ::Bedrock::PubSub::Subscription $registerSceneStackDestroyedListener(::std::function<void()> callback);
642 // NOLINTEND
643
644public:
645 // vftables
646 // NOLINTBEGIN
647 MCNAPI static void** $vftable();
648 // NOLINTEND
649};
Definition AbstractScene.h:5
Definition Publisher.h:8
Definition CachedScenes.h:5
Definition ISceneStack.h:5
Definition Options.h:5
Definition SceneStackProxy.h:5
Definition SceneStack.h:30
static MCAPI void ** $vftable()
Definition SceneStack.h:28
Definition SceneStack.h:26
static MCAPI void ** $vftable()
Definition SceneStack.h:24
static MCAPI void ** $vftable()
Definition SceneStack.h:32
static MCAPI void ** $vftable()
Definition SceneStack.h:18
static MCAPI void ** $vftable()
Definition SceneStack.h:5
static MCAPI void ** $vftable()
Definition TaskGroup.h:57
Definition UIEventCoordinator.h:13
Definition function_ref.h:60
STL namespace.
Definition MultiThreaded.h:12
Definition ISceneStack.h:13
Definition RouteAction.h:7
Definition ScreenThreshold.h:5
Definition TextCharEventData.h:5