LeviLamina
Loading...
Searching...
No Matches
SceneProvider.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/oreui/ViewCacheMode.h"
7#include "mc/client/gui/oreui/interface/FacetRegistryLocation.h"
8#include "mc/client/gui/oreui/interface/RouteMode.h"
9#include "mc/deps/core/utility/NonOwnerPointer.h"
10
11// auto generated forward declare list
12// clang-format off
13class AbstractScene;
14class IClientInstance;
15class ISceneStack;
16namespace OreUI { class FacetRegistryFactory; }
17namespace OreUI { class Library; }
18namespace OreUI { class RouteModeInputHandler; }
19namespace OreUI { class Router; }
20namespace OreUI { struct ViewId; }
21namespace OreUI::Detail { class ViewContextFactory; }
22namespace ui { class ScreenTechStackSelector; }
23// clang-format on
24
25namespace OreUI {
26
27class SceneProvider {
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 8, ::OreUI::Library&> mUILibrary;
32 ::ll::TypedStorage<8, 8, ::ui::ScreenTechStackSelector const&> mScreenTechStackSelector;
33 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::FacetRegistryFactory>> mFacetRegistryFactory;
34 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::Detail::ViewContextFactory>> mContextFactory;
35 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance>> mClientInstance;
36 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::RouteModeInputHandler>> mRouteModeInputHandler;
37 // NOLINTEND
38
39public:
40 // prevent constructor by default
41 SceneProvider& operator=(SceneProvider const&);
42 SceneProvider(SceneProvider const&);
43 SceneProvider();
44
45public:
46 // member functions
47 // NOLINTBEGIN
48 MCAPI SceneProvider(
49 ::std::unique_ptr<::OreUI::FacetRegistryFactory> facetRegistryFactory,
50 ::std::unique_ptr<::OreUI::Detail::ViewContextFactory> contextFactory,
51 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const& clientInstance,
52 ::OreUI::Library& uiLibrary,
53 ::ui::ScreenTechStackSelector const& screenTechStackSelector
54 );
55
56 MCAPI ::OreUI::ViewId _createView(
57 ::std::string const& url,
58 ::OreUI::FacetRegistryLocation location,
59 ::OreUI::ViewCacheMode cacheMode
60 ) const;
61
62 MCAPI ::std::shared_ptr<::AbstractScene> createScene(
63 ::std::string const& url,
64 ::OreUI::Router& router,
65 ::Bedrock::NotNullNonOwnerPtr<::ISceneStack> const& sceneStack,
66 ::OreUI::RouteMode mode,
67 ::OreUI::FacetRegistryLocation location
68 ) const;
69
70 MCAPI void preCacheGameplayViews();
71
72 MCAPI void preCacheOutOfGameViews();
73
74 MCAPI ~SceneProvider();
75 // NOLINTEND
76
77public:
78 // constructor thunks
79 // NOLINTBEGIN
80 MCAPI void* $ctor(
81 ::std::unique_ptr<::OreUI::FacetRegistryFactory> facetRegistryFactory,
82 ::std::unique_ptr<::OreUI::Detail::ViewContextFactory> contextFactory,
83 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const& clientInstance,
84 ::OreUI::Library& uiLibrary,
85 ::ui::ScreenTechStackSelector const& screenTechStackSelector
86 );
87 // NOLINTEND
88
89public:
90 // destructor thunk
91 // NOLINTBEGIN
92 MCAPI void $dtor();
93 // NOLINTEND
94};
95
96} // namespace OreUI
Definition AbstractScene.h:5
Definition IClientInstance.h:5
Definition ISceneStack.h:5
Definition ViewContextFactory.h:7
Definition FacetRegistryFactory.h:7
Definition Library.h:7
Definition RouteModeInputHandler.h:7
Definition Router.h:7
Definition SceneProvider.h:7
Definition ScreenTechStackSelector.h:7
Definition ViewId.h:7