3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/oreui/resources/ResourceAllowList.h"
7#include "mc/client/gui/oreui/resources/TemporaryTextureHolder.h"
8#include "mc/client/gui/oreui/routing/RouterConfiguration.h"
9#include "mc/deps/core/utility/NonOwnerPointer.h"
10#include "mc/deps/core/utility/pub_sub/Subscription.h"
20namespace Core {
class Path; }
23namespace OreUI {
class Library; }
24namespace OreUI {
class Router; }
46 ::ll::TypedStorage<8, 8, void*> token;
47 ::ll::TypedStorage<8, 64, ::std::function<void()>> callback;
53 MCAPI ~CallbackEntry();
63 using ShowDebugToast = ::std::function<void(::std::string
const&)>;
68 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::DebugData>> mDebugData;
69 ::ll::TypedStorage<8, 64, ::std::function<void(::std::string
const&)>> mShowDebugToast;
70 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::Core::FileSystem>> mFileSystem;
71 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IFileAccess>> mAppPackageFileAccess;
72 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IFileAccess>> mRawFileAccess;
73 ::ll::TypedStorage<8, 8, ::ResourcePackManager const&> mPackManager;
74 ::ll::TypedStorage<8, 8, ::ui::ScreenTechStackSelector&> mScreenTechStackSelector;
75 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager>> mUserManager;
76 ::ll::TypedStorage<8, 216, ::OreUI::RouterConfiguration> mRouterConfiguration;
77 ::ll::TypedStorage<8, 320, ::OreUI::ResourceAllowList> mResourceAllowList;
78 ::ll::TypedStorage<8, 104, ::OreUI::TemporaryTextureHolder> mTemporaryTextureHolder;
79 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::Library>> mLibrary;
80 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::DevServerListener>> mDevServerListener;
81 ::ll::TypedStorage<1, 1, bool> mAppWillRestart;
82 ::ll::TypedStorage<8, 24, ::std::vector<::OreUI::OreUISystem::CallbackEntry>> mRouteConfigurationChangeCallbacks;
83 ::ll::TypedStorage<8, 24, ::std::vector<::Bedrock::PubSub::Subscription>> mOptionSubscriptions;
84 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesTrialMode;
85 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesFriendsDrawerOnMultipleScreens;
86 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesSettingsScreen;
87 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesAccessibilitySettingsScreen;
88 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesGameSettingsScreen;
89 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesLanguageSettingsScreen;
90 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesGeneralSettingsScreen;
91 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesAudioSettingsScreen;
92 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesAccountSettingsScreen;
93 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesVideoSettingsScreen;
94 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesKeyboardAndMouseSettingsScreen;
95 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesMultiplayerScreen;
96 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesPreviewSettingsScreen;
97 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesTouchSettingsScreen;
98 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesNewSettingsInGame;
99 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesNewSettingsOnThirdPartyServers;
100 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesControllerScreen;
105 OreUISystem& operator=(OreUISystem
const&);
106 OreUISystem(OreUISystem
const&);
113 ::std::unique_ptr<::OreUI::DebugData> debugData,
114 ::OreUI::RouterConfiguration routerConfiguration,
115 ::std::function<
void(::std::string
const&)> showDebugToast,
116 ::Bedrock::NotNullNonOwnerPtr<::Core::FileSystem>
const& fileSystem,
117 ::Bedrock::NotNullNonOwnerPtr<::IFileAccess>
const& appPackageFileAccess,
118 ::Core::Path
const& packagePath,
119 ::Bedrock::NotNullNonOwnerPtr<::IFileAccess>
const& rawFileAccess,
120 ::ResourcePackManager
const& packManager,
121 ::ui::ScreenTechStackSelector& screenTechStackSelector,
122 ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> userManager
125 MCAPI
void _initializeLibrary(::Core::Path
const& packagePath);
127 MCAPI
void _registerToggleObservers();
129 MCAPI ::std::unique_ptr<::OreUI::Router> createInGameRouter(
130 ::std::unique_ptr<::OreUI::IRoutePrerequisiteHandler> prerequisiteHandler,
131 ::std::unique_ptr<::OreUI::RouterEventing> routerEventing,
132 ::SceneFactory& sceneFactory,
133 ::Bedrock::NotNullNonOwnerPtr<::ISceneStack>
const& sceneStack
136 MCAPI ::std::unique_ptr<::OreUI::Router> createOutOfGameRouter(
137 ::std::unique_ptr<::OreUI::IRoutePrerequisiteHandler> prerequisiteHandler,
138 ::std::unique_ptr<::OreUI::RouterEventing> routerEventing,
139 ::SceneFactory& sceneFactory,
140 ::Bedrock::NotNullNonOwnerPtr<::ISceneStack>
const& sceneStack
143 MCAPI
void onAppPreSuspended(::mce::RenderContext& renderContext);
145 MCAPI
void registerOptionObservers(::IOptions& options);
147 MCAPI
void registerRouteConfigurationChangeCallback(
void* token, ::std::function<
void()>
const& callback);
149 MCAPI
void unregisterRouteConfigurationChangeCallback(
void* token);
151 MCAPI
void update(
double time);
153 MCAPI ~OreUISystem();
160 ::std::unique_ptr<::OreUI::DebugData> debugData,
161 ::OreUI::RouterConfiguration routerConfiguration,
162 ::std::function<
void(::std::string
const&)> showDebugToast,
163 ::Bedrock::NotNullNonOwnerPtr<::Core::FileSystem>
const& fileSystem,
164 ::Bedrock::NotNullNonOwnerPtr<::IFileAccess>
const& appPackageFileAccess,
165 ::Core::Path
const& packagePath,
166 ::Bedrock::NotNullNonOwnerPtr<::IFileAccess>
const& rawFileAccess,
167 ::ResourcePackManager
const& packManager,
168 ::ui::ScreenTechStackSelector& screenTechStackSelector,
169 ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> userManager
Definition FileSystem.h:28
Definition IFileAccess.h:15
Definition ISceneStack.h:5
Definition DevServerListener.h:7
Definition IRoutePrerequisiteHandler.h:7
Definition OreUISystem.h:7
Definition RouterEventing.h:7
Definition ResourcePackManager.h:30
Definition SceneFactory.h:5
Definition IUserManager.h:34
Definition RenderContext.h:7
Definition ScreenTechStackSelector.h:7
Definition OreUISystem.h:15