3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/oreui/LiveViewCollection.h"
7#include "mc/client/gui/oreui/resources/TemporaryTextureHolder.h"
8#include "mc/client/gui/oreui/routing/RouterConfiguration.h"
9#include "mc/deps/core/file/Path.h"
10#include "mc/deps/core/utility/NonOwnerPointer.h"
11#include "mc/deps/core/utility/pub_sub/Subscription.h"
12#include "mc/platform/brstd/move_only_function.h"
26namespace OreUI {
class Library; }
28namespace OreUI {
class Router; }
55 using ResourceHandlerBrokerFactory = ::brstd::move_only_function<::std::unique_ptr<
56 ::Gameface::ResourceHandlerBroker>(::OreUI::RegisterResourceHandlersArguments
const&)
const>;
58 using LibraryFactory =
59 ::brstd::move_only_function<::std::unique_ptr<::OreUI::Library>(::OreUI::LibraryFactoryArguments&&) const>;
61 using SceneProviderFactory = ::brstd::move_only_function<::std::unique_ptr<::OreUI::SceneProvider>(
62 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const&,
63 ::std::unique_ptr<::OreUI::FacetRegistryFactory>,
64 ::std::unique_ptr<::OreUI::Detail::ViewContextFactory>,
74 ::brstd::move_only_function<::std::unique_ptr<
75 ::Gameface::ResourceHandlerBroker>(::OreUI::RegisterResourceHandlersArguments const&) const>>
76 mCreateResourceHandlerBroker;
80 ::brstd::move_only_function<::std::unique_ptr<::OreUI::Library>(::OreUI::LibraryFactoryArguments&&) const>>
85 ::brstd::move_only_function<::std::unique_ptr<::OreUI::SceneProvider>(
86 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const&,
87 ::std::unique_ptr<::OreUI::FacetRegistryFactory>,
88 ::std::unique_ptr<::OreUI::Detail::ViewContextFactory>,
91 mSceneProviderFactory;
92 ::ll::TypedStorage<8, 208, ::OreUI::RouterConfiguration> mRouterConfiguration;
93 ::ll::TypedStorage<8, 32, ::Core::Path> mPackagePath;
94 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::ResourceAllowList>> mAllowList;
95 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::DebugData>> mDebugData;
96 ::ll::TypedStorage<8, 64, ::std::function<
void(::std::string_view)>> mShowDebugToast;
97 ::ll::TypedStorage<8, 24, ::OreUI::LiveViewCollection> mLiveViewCollection;
98 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::Input::Debug::ISplitscreenRedirect>>
99 mDebugSplitscreenInputRedirect;
105 MCAPI static ::brstd::move_only_function<::std::unique_ptr<::OreUI::Library>(::OreUI::LibraryFactoryArguments&&)
107 createLibraryFactory(
108 ::Bedrock::NotNullNonOwnerPtr<::Core::FileSystem> fileSystem,
109 ::Bedrock::NotNullNonOwnerPtr<::IFileAccess> appPackageFileAccess
112 MCAPI static ::brstd::move_only_function<::std::unique_ptr<
113 ::Gameface::ResourceHandlerBroker>(::OreUI::RegisterResourceHandlersArguments const&) const>
114 createResourceHandlerBrokerFactory(::OreUI::ResourceHandlerFactoryArguments const& args);
116 MCAPI static ::OreUI::ResourceHandlerFactory
117 createResourceHandlerFactory(::OreUI::ResourceHandlerFactoryArguments const& args);
125 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::OreUI::ResourceAllowList>>> mResourceAllowList;
129 ::brstd::move_only_function<::std::unique_ptr<::OreUI::SceneProvider>(
130 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance>
const&,
131 ::std::unique_ptr<::OreUI::FacetRegistryFactory>,
132 ::std::unique_ptr<::OreUI::Detail::ViewContextFactory>,
135 mCreateSceneProvider;
136 ::ll::TypedStorage<8, 208, ::OreUI::RouterConfiguration> mRouterConfiguration;
137 ::ll::TypedStorage<8, 104, ::Gameface::TemporaryTextureHolder> mTemporaryTextureHolder;
138 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::OreUI::DebugData>>> mDebugData;
139 ::ll::TypedStorage<8, 64, ::std::function<void(::std::string_view)>> mShowDebugToast;
143 struct CallbackEntry {
147 ::ll::TypedStorage<8, 8, void*> token;
148 ::ll::TypedStorage<8, 64, ::std::function<void()>> callback;
155 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::OreUI::OreUISystem::Impl>>> mImpl;
156 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::Library>> mLibrary;
157 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::Debug::DevServerListener>> mDevServerListener;
158 ::ll::TypedStorage<1, 1, bool> mAppWillRestart;
159 ::ll::TypedStorage<8, 24, ::std::vector<::OreUI::OreUISystem::CallbackEntry>> mRouteConfigurationChangeCallbacks;
160 ::ll::TypedStorage<8, 24, ::std::vector<::Bedrock::PubSub::Subscription>> mOptionSubscriptions;
161 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesTrialMode;
162 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesFriendsDrawerOnMultipleScreens;
163 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesSettingsScreen;
164 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesPreviewSettingsScreen;
165 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesStorageSettingsScreen;
166 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesNewSettingsInGame;
167 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesNewSettingsOnThirdPartyServers;
168 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mFlightingTogglesCloudStorageManager;
178 MCAPI
explicit OreUISystem(::OreUI::OreUISystem::OreUISystemDependencies&& deps);
180 MCAPI ::std::unique_ptr<::OreUI::Router> createInGameRouter(
181 ::std::unique_ptr<::OreUI::IRoutePrerequisiteHandler> prerequisiteHandler,
182 ::std::unique_ptr<::OreUI::RouterEventing> routerEventing,
183 ::SceneFactory& sceneFactory,
184 ::Bedrock::NotNullNonOwnerPtr<::ISceneStack>
const& sceneStack
187 MCAPI ::std::unique_ptr<::OreUI::Router> createOutOfGameRouter(
188 ::std::unique_ptr<::OreUI::IRoutePrerequisiteHandler> prerequisiteHandler,
189 ::std::unique_ptr<::OreUI::RouterEventing> routerEventing,
190 ::SceneFactory& sceneFactory,
191 ::Bedrock::NotNullNonOwnerPtr<::ISceneStack>
const& sceneStack
194 MCAPI ::std::unique_ptr<::OreUI::SceneProvider> createSceneProvider(
195 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance>
const& clientInstance,
196 ::std::unique_ptr<::OreUI::FacetRegistryFactory> facetRegistryFactory,
197 ::std::unique_ptr<::OreUI::Detail::ViewContextFactory> contextFactory
200 MCAPI
void registerOptionObservers(::IOptionRegistry& options);
202 MCAPI
void registerRouteConfigurationChangeCallback(
void* token, ::std::function<
void()>
const& callback);
204 MCAPI
void unregisterRouteConfigurationChangeCallback(
void* token);
206 MCAPI
void update(
double time);
208 MCAPI ~OreUISystem();
214 MCAPI
void* $ctor(::OreUI::OreUISystem::OreUISystemDependencies&& deps);
Definition FileSystem.h:28
Definition ResourceHandlerBroker.h:7
Definition IClientInstance.h:5
Definition IFileAccess.h:15
Definition IOptionRegistry.h:5
Definition ISceneStack.h:5
Definition DevServerListener.h:7
Definition ViewContextFactory.h:7
Definition FacetRegistryFactory.h:7
Definition IRoutePrerequisiteHandler.h:7
Definition OreUISystem.h:7
Definition ResourceAllowList.h:7
Definition RouterEventing.h:7
Definition SceneProvider.h:7
Definition SceneFactory.h:5
Definition LibraryFactoryArguments.h:7
Definition OreUISystem.h:21
Definition OreUISystem.h:19
Definition OreUISystem.h:17
Definition RegisterResourceHandlersArguments.h:7
Definition ResourceHandlerFactoryArguments.h:7
Definition ResourceHandlerFactory.h:7