194 virtual void onInitMinecraftGame() = 0;
197 virtual void onDestroyMinecraftGame() = 0;
201 ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager>
const&,
205 ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager>
const&,
211 virtual void initSceneFactory(::std::unique_ptr<::SceneFactory>, ::std::unique_ptr<::OreUI::SceneProvider>) = 0;
214 virtual void setUiRouter(::std::unique_ptr<::OreUI::Router>) = 0;
217 virtual void initGraphics() = 0;
220 virtual void stop() = 0;
223 virtual void teardown() = 0;
226 virtual void preShutDown() = 0;
232 virtual ::std::optional<::Social::GameConnectionInfo> getGameConnectionInfo() = 0;
235 virtual void onStartJoinGame(
237 ::std::string
const&,
238 ::std::string
const&,
239 ::std::string
const&,
241 ::Social::MultiplayerServiceIdentifier,
246 virtual void onCancelJoinGame() = 0;
249 virtual void requestLeaveGameAsync() = 0;
252 virtual void requestLeaveGame(
bool,
bool) = 0;
255 virtual void stopPlayScreen() = 0;
258 virtual bool isLeaveGameDone()
const = 0;
261 virtual void setupPlayScreenForLeaveGame() = 0;
264 virtual void preCacheOutOfGameViews() = 0;
267 virtual void resetPrimaryClient() = 0;
270 virtual void resetGameSession() = 0;
273 virtual void tick() = 0;
279 virtual bool update(
bool) = 0;
282 virtual void preFrameTick() = 0;
285 virtual void endFrame() = 0;
288 virtual float getFrameAlpha() = 0;
291 virtual void startSubClientLateJoin(
293 ::std::unique_ptr<::GameModuleClient>,
294 ::std::optional<::PlayerJoinWorldTelemetryInfo>
298 virtual ::Bedrock::Threading::Async<::ClientGameSetupResult>
299 setupClientGame(
bool, ::std::unique_ptr<::GameModuleClient>) = 0;
302 virtual ::BlockSource* getRegion() = 0;
305 virtual ::LocalPlayer* getLocalPlayer()
const = 0;
308 virtual void setupPrimaryClientEditorManager() = 0;
311 virtual ::Bedrock::NonOwnerPointer<::Editor::IEditorPlayer> getLocalEditorPlayer()
const = 0;
314 virtual ::Bedrock::NonOwnerPointer<::Editor::IEditorManager> getEditorManager()
const = 0;
317 virtual bool isPlayerInEditor()
const = 0;
320 virtual ::LocalPlayerChangedConnector getLocalPlayerChangedConnector() = 0;
323 virtual ::WeakEntityRef getLocalUser()
const = 0;
326 virtual ::Actor* getCameraActor()
const = 0;
329 virtual void setCameraActor(
::Actor*) = 0;
332 virtual ::ListenerState
const* getListenerState()
const = 0;
335 virtual ::Actor* getCameraTargetActor()
const = 0;
338 virtual void setCameraTargetActor(
::Actor*) = 0;
341 virtual ::WeakEntityRef getCameraEntity()
const = 0;
350 virtual ::HitResult
const& getLatestHitResult()
const = 0;
353 virtual bool isLeavingGame()
const = 0;
356 virtual bool isDestroyingGame()
const = 0;
359 virtual bool isShuttingDown()
const = 0;
362 virtual bool useLowFrequencyUIRender()
const = 0;
365 virtual bool isSplitScreenActive()
const = 0;
368 virtual bool isExitingLevel()
const = 0;
371 virtual bool isInBedScreen()
const = 0;
374 virtual bool isInDeathScreen()
const = 0;
377 virtual bool isKeyboardEnabled()
const = 0;
380 virtual bool hasCommands()
const = 0;
383 virtual int getSplitScreenCount()
const = 0;
386 virtual bool isShowingLoadingScreen()
const = 0;
389 virtual bool shouldDisconnectOnAppSuspended()
const = 0;
392 virtual bool isGamePlayTipsEnabled()
const = 0;
395 virtual bool isPlatformNX()
const = 0;
401 virtual bool isValidCrossPlatformSkin()
const = 0;
404 virtual bool isCurrentSkinPlatformLocked()
const = 0;
407 virtual bool isSelectedSkinInitialized()
const = 0;
410 virtual ::SplitScreenInfo getSplitScreenInfo()
const = 0;
413 virtual int getCurrentMaxGUIScaleIndex()
const = 0;
416 virtual bool getHandlingControllerDisconnect() = 0;
419 virtual void setOpenControllerDisconnectScreen(
bool) = 0;
422 virtual ::ClientPlayMode getClientPlayMode()
const = 0;
425 virtual void setClientPlayMode(::ClientPlayMode
const&) = 0;
428 virtual ::std::function<void()> getCreditsCallback() = 0;
431 virtual void setCreditsCallback(::std::function<
void()>) = 0;
434 virtual void setupTransitionForCredits(::std::function<
void()>) = 0;
437 virtual void refreshScreenSizeData() = 0;
440 virtual void onScreenSizeChanged(
int,
int,
float) = 0;
443 virtual void onGuiScaleOffsetChanged() = 0;
446 virtual void onSafeZoneChanged() = 0;
449 virtual bool hasDismissedNewPlayerFlow()
const = 0;
452 virtual void quit(::std::string
const&, ::std::string
const&) = 0;
455 virtual ::IMinecraftGame& getMinecraftGame_DEPRECATED()
const = 0;
458 virtual ::IClientInstances& getClientInstances()
const = 0;
461 virtual ::World::WorldSystem& getWorldSystem()
const = 0;
464 virtual bool isWorldSystemReady()
const = 0;
467 virtual ::Bedrock::NotNullNonOwnerPtr<::Automation::AutomationClient> getAutomationClient()
const = 0;
470 virtual ::Bedrock::NonOwnerPointer<::EDUSystems> getEDUSystems() = 0;
473 virtual ::Bedrock::NonOwnerPointer<::EDUSystems const> getEDUSystems()
const = 0;
476 virtual ::Bedrock::NonOwnerPointer<::Progress::ProgressSystem> getProgressSystem()
const = 0;
479 virtual bool isProgressSystemReady()
const = 0;
482 virtual ::IMinecraftEventing& getEventing()
const = 0;
485 virtual ::IConnectionEventing& getConnectionEventing()
const = 0;
488 virtual ::FontHandle getFontHandle()
const = 0;
491 virtual ::FontHandle getRuneFontHandle()
const = 0;
494 virtual ::FontHandle getUnicodeFontHandle()
const = 0;
497 virtual ::Bedrock::NotNullNonOwnerPtr<::GeometryGroup> getGeometryGroup()
const = 0;
500 virtual ::Bedrock::NotNullNonOwnerPtr<::BlockCullingGroup> getBlockCullingGroup()
const = 0;
503 virtual ::Bedrock::NotNullNonOwnerPtr<::Social::MultiplayerServiceManager> getMultiplayerServiceManager()
const = 0;
506 virtual ::IResourcePackRepository& getResourcePackRepository()
const = 0;
509 virtual ::ResourcePackManager& getResourcePackManager()
const = 0;
512 virtual ::PackManifestFactory& getPackManifestFactory() = 0;
515 virtual ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> getKeyProvider()
const = 0;
518 virtual ::PacksInfoData
const& getHostSpecifiedPacks()
const = 0;
521 virtual ::std::shared_ptr<::SkinRepository> getSkinRepository()
const = 0;
524 virtual ::SkinRepositoryClientInterface& getSkinRepositoryClientInterface()
const = 0;
527 virtual ::PersonaRepository& getPersonaRepository()
const = 0;
530 virtual ::MarketplaceServicesManager& getMarketplaceServicesManager()
const = 0;
533 virtual ::Bedrock::NotNullNonOwnerPtr<::StoreCatalogRepository> getStoreCatalogRepository() = 0;
536 virtual ::std::shared_ptr<::mce::TextureGroup> getTextureGroup()
const = 0;
539 virtual ::Bedrock::NotNullNonOwnerPtr<::mce::TextureGroup> getStoreCacheTextures()
const = 0;
542 virtual ::Bedrock::NotNullNonOwnerPtr<::MinecraftGraphics> getMinecraftGraphics()
const = 0;
545 virtual ::Bedrock::NotNullNonOwnerPtr<::IUIRepository> getUIRepository()
const = 0;
548 virtual ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> getUserManager()
const = 0;
551 virtual ::Bedrock::NotNullNonOwnerPtr<::TrialManager> getTrialManager()
const = 0;
554 virtual bool wantToQuit()
const = 0;
557 virtual bool isPrimaryLevelCrossPlatformMultiplayer()
const = 0;
560 virtual bool isPrimaryLevelMultiplayer()
const = 0;
563 virtual bool isAdhocEnabled()
const = 0;
566 virtual ::std::shared_ptr<::ActorAnimationGroup> getActorAnimationGroup()
const = 0;
569 virtual bool isMarketplaceDisabled()
const = 0;
572 virtual ::std::pair<::StoreErrorCodes, ::std::string>
const getMarketplaceDisabledReasonWithErrorCode()
const = 0;
575 virtual void linkToOffer(::std::string
const&,
bool) = 0;
578 virtual void linkToPage(::std::string
const&) = 0;
581 virtual void linkTo3PServerOffers(::std::string
const&, ::std::string
const&) = 0;
584 virtual void navigateToMarketplaceInventoryScreen(::InventoryTabIndex) = 0;
587 virtual void navigateToStoreHomeScreen() = 0;
590 virtual void navigateToCoinPurchaseScreen(
int, ::std::function<
void(
bool,
int)>) = 0;
593 virtual void navigateToPurchaseOfferScreen(
::StoreCatalogItem&, ::StoreNavigationOrigin,
bool const) = 0;
596 virtual void navigateToDressingRoomOfferScreen(::std::string
const&) = 0;
599 virtual bool navigateToProfileScreen(::std::string
const&,
bool const) = 0;
602 virtual void navigateToServersScreen(
bool const) = 0;
605 virtual void navigateToHowToPlayScreen(::std::string
const&) = 0;
608 virtual void navigateToGatheringInfoScreen(
bool) = 0;
611 virtual void navigateToMarketplacePassPDPScreen(::MarketplacePassTabIndex) = 0;
614 virtual void navigateToRealmsStoriesTransitionScreen(
::Realms::World const&) = 0;
617 virtual void tryPushLeaveGameScreen() = 0;
620 virtual void tryStartDayOneExperience() = 0;
623 virtual bool isReadyToRender()
const = 0;
626 virtual void onDimensionChangedEvent() = 0;
629 virtual void onGameEventNotification(::ui::GameEventNotification) = 0;
632 virtual ::std::string getTopScreenName()
const = 0;
635 virtual void setLeaveGameInProgressAsReadyToContinue() = 0;
638 virtual void stopDestroying() = 0;
641 virtual void onClientCreatedLevel(
647 virtual uint64 getClientRandomId()
const = 0;
650 virtual ::PlayerAuthentication& getPlayerAuthentication() = 0;
653 virtual ::std::weak_ptr<::PlayerAuthentication> getWeakPlayerAuthentication() = 0;
656 virtual void createPlayerAuthentication() = 0;
659 virtual void createPlayerAuthentication(uint64) = 0;
662 virtual ::std::string getPlatformId()
const = 0;
665 virtual ::std::string getPlatformOnlineId()
const = 0;
668 virtual bool useController()
const = 0;
671 virtual bool useTouchscreen()
const = 0;
674 virtual bool getMouseGrabbed()
const = 0;
677 virtual bool currentInputModeIsGamePadOrMotionController()
const = 0;
680 virtual bool currentInputModeIsMouseAndKeyboard()
const = 0;
683 virtual bool allowPicking()
const = 0;
686 virtual bool isShowingMenu()
const = 0;
689 virtual bool isShowingPauseScreen()
const = 0;
692 virtual bool isShowingProgressScreen()
const = 0;
695 virtual bool isShowingWorldProgressScreen()
const = 0;
698 virtual bool isShowingRealmsProgressScreen()
const = 0;
701 virtual bool isShowingDeathScreen()
const = 0;
704 virtual bool isShowingServerForm()
const = 0;
707 virtual bool isScreenReplaceable()
const = 0;
710 virtual bool isInWorldAndNotShowingAnyMenuScreens()
const = 0;
713 virtual bool isWorldActive()
const = 0;
716 virtual bool isInRealm() = 0;
719 virtual bool readyForShutdown()
const = 0;
722 virtual bool isPrimaryClient()
const = 0;
725 virtual bool isEduMode()
const = 0;
728 virtual bool isGamepadCursorEnabled()
const = 0;
731 virtual bool isInControlCustomization()
const = 0;
734 virtual ::Bedrock::NotNullNonOwnerPtr<::Minecraft> getServerData() = 0;
737 virtual ::Bedrock::NotNullNonOwnerPtr<::Minecraft const> getServerData()
const = 0;
740 virtual ::MultiPlayerLevel* getLevel() = 0;
743 virtual ::MultiPlayerLevel
const* getLevel()
const = 0;
746 virtual bool hasLevel()
const = 0;
749 virtual bool isPreGame()
const = 0;
752 virtual bool isInMultiplayerGame()
const = 0;
755 virtual bool isMultiPlayerClient()
const = 0;
758 virtual ::IOptions& getOptions() = 0;
761 virtual ::IOptions
const& getOptions()
const = 0;
764 virtual ::std::shared_ptr<::Options> getOptionsPtr() = 0;
767 virtual ::std::shared_ptr<::Options const>
const getOptionsPtr()
const = 0;
770 virtual ::std::shared_ptr<::Social::User>
const& getUser()
const = 0;
773 virtual ::std::shared_ptr<::ISettingsRegistry> getSettingsRegistry() = 0;
776 virtual ::Option
const& getShowLearningPromptsOption()
const = 0;
779 virtual ::Option& getShowControlTipsOption() = 0;
782 virtual ::Option& getShowControlTipsOverrideOption() = 0;
785 virtual double getControlTipsTimeElapsed()
const = 0;
788 virtual void setControlTipsTimeElapsedStart() = 0;
791 virtual ::GameRenderer& getGameRenderer()
const = 0;
794 virtual ::LevelRenderer* getLevelRenderer()
const = 0;
797 virtual ::LevelRendererCameraProxy* getLevelRendererCameraProxy()
const = 0;
800 virtual ::Bedrock::NonOwnerPointer<::CameraRegistry> getCameraRegistry() = 0;
803 virtual ::Bedrock::NonOwnerPointer<::CameraRegistry const> getCameraRegistry()
const = 0;
806 virtual ::Bedrock::NonOwnerPointer<::EntitySystems> getCameraSystems() = 0;
809 virtual ::LightTexture* getLightTexture() = 0;
815 virtual ::mce::ViewportInfo
const& getViewportInfo()
const = 0;
821 virtual ::Vec2 getNormalizedViewportSize()
const = 0;
824 virtual void updateChunkRadius() = 0;
830 virtual ::mce::Texture* getUITexture() = 0;
836 virtual ::mce::Texture* getLevelTexture() = 0;
842 virtual ::mce::TexturePtr getUICursorTexture()
const = 0;
845 virtual ::mce::Camera& getCamera() = 0;
848 virtual ::ShaderColor& getShaderColor() = 0;
851 virtual ::ShaderColor& getDarkShaderColor() = 0;
854 virtual void clearGraphicsCache() = 0;
860 virtual bool shouldRenderUICursor()
const = 0;
863 virtual bool getRenderPlayerModel()
const = 0;
866 virtual ::DeferredLighting& getDeferredLighting() = 0;
869 virtual float getGuiScale()
const = 0;
872 virtual ::Option
const& getGuiScaleOption()
const = 0;
875 virtual int getGuiScaleOffset()
const = 0;
878 virtual void setGuiScaleOffset(
int) = 0;
884 virtual ::Bedrock::NotNullNonOwnerPtr<::GuiData> getGuiData() = 0;
887 virtual ::Bedrock::NotNullNonOwnerPtr<::GuiData const> getGuiData()
const = 0;
890 virtual ::GuidedFlowManager& getGuidedFlowManager() = 0;
893 virtual ::PixelCalc
const& getDpadScale()
const = 0;
896 virtual ::Bedrock::NotNullNonOwnerPtr<::DateManager const> getDateManager()
const = 0;
899 virtual void addOverrideHoursToDateTime(uint
const) = 0;
902 virtual ::ToastManager& getToastManager() = 0;
905 virtual ::ClipboardProxy<::ApplicationSignal::ClipboardCopy, ::ApplicationSignal::ClipboardPasteRequest>&
906 getClipboardManager() = 0;
909 virtual ::AbstractScene* getTopScene() = 0;
912 virtual ::AbstractScene
const* getTopScene()
const = 0;
915 virtual ::AbstractScene* getActiveScene() = 0;
918 virtual ::AbstractScene
const* getActiveScene()
const = 0;
921 virtual ::SceneFactory& getSceneFactory()
const = 0;
924 virtual ::OreUI::SceneProvider& getSceneProvider()
const = 0;
927 virtual ::WeakRef<::OreUI::UIBlockThumbnailAtlasManager> getOreUIBlockThumbnailAtlasManager()
const = 0;
930 virtual ::ui::ScreenTechStackSelector& getScreenTechStackSelector() = 0;
933 virtual ::Bedrock::NotNullNonOwnerPtr<::ISceneStack const> getClientSceneStack()
const = 0;
936 virtual ::Bedrock::NotNullNonOwnerPtr<::ISceneStack> getClientSceneStack() = 0;
939 virtual ::OreUI::Router& getClientUIRouter()
const = 0;
942 virtual ::ISceneStack& getMainSceneStackInterface() = 0;
945 virtual ::Bedrock::NotNullNonOwnerPtr<::ISceneStack> getMainSceneStack() = 0;
948 virtual ::Bedrock::NotNullNonOwnerPtr<::ISceneStack const> getMainSceneStack()
const = 0;
951 virtual ::Bedrock::NotNullNonOwnerPtr<::ISceneStack const> getCurrentSceneStack()
const = 0;
954 virtual ::Bedrock::NotNullNonOwnerPtr<::ISceneStack> getCurrentSceneStack() = 0;
957 virtual ::OreUI::Router& getCurrentUIRouter() = 0;
960 virtual ::OreUI::Router
const& getCurrentUIRouter()
const = 0;
963 virtual ::OreUI::ITelemetry& getOreUITelemetry() = 0;
966 virtual ::Bedrock::NotNullNonOwnerPtr<::ISceneStack>
967 prepareSceneFor(::ui::SceneType
const, ::std::function<::std::shared_ptr<::AbstractScene>()>) = 0;
970 virtual ::CachedScenes& getCachedScenes() = 0;
973 virtual ::std::string getScreenName()
const = 0;
976 virtual ::std::string getScreenTelemetry()
const = 0;
979 virtual ::ui::SceneType getTopSceneType()
const = 0;
982 virtual ::MobEffectsLayout& getMobEffectsLayout() = 0;
985 virtual ::std::string emoticonifyText(::std::string
const&)
const = 0;
988 virtual ::std::string emoticonifyText(::std::string
const&,
bool) = 0;
991 virtual void onMobEffectsChange() = 0;
994 virtual void setUISizeAndScale(
int,
int,
float) = 0;
997 virtual void forEachVisibleScreen(::std::function<
void(
::AbstractScene&)>) = 0;
1000 virtual void forEachScreen(::std::function<
bool(
::AbstractScene&)>,
bool) = 0;
1003 virtual void forEachScreenConst(::std::function<
bool(
::AbstractScene const&)>,
bool)
const = 0;
1006 virtual bool updateSceneStack() = 0;
1012 virtual void forEachAlwaysAcceptInputScreenWithTop(::std::function<
void(
::AbstractScene&)>) = 0;
1015 virtual void showPlayerProfile(::std::string
const&, ::std::string
const&) = 0;
1018 virtual bool isInGameInputEnabled()
const = 0;
1021 virtual void setInGameInputEnabled(
bool) = 0;
1024 virtual ::Vec2 getSafeZoneScale()
const = 0;
1027 virtual void verifySkinApproval(
1028 ::std::string
const&,
1029 ::std::function<
void(::std::string)>
const&,
1030 ::std::function<
void()>
const&
1034 virtual ::InputMode getCurrentInputMode()
const = 0;
1037 virtual bool isTouchGameplayAllowed()
const = 0;
1040 virtual ::Bedrock::NonOwnerPointer<::MinecraftInputHandler> getMinecraftInput()
const = 0;
1043 virtual ::KeyboardManager& getKeyboardManager() = 0;
1046 virtual void setLastPointerLocation(
float,
float,
float) = 0;
1049 virtual ::Vec3 getLastPointerLocation() = 0;
1052 virtual void clearTouchPointerLocations() = 0;
1055 virtual void clearTouchPointerLocation(
int) = 0;
1058 virtual void updateControlOptionState(uint,
bool) = 0;
1061 virtual void clearActiveControlOptions() = 0;
1064 virtual ::std::set<uint>
const& getActiveControlOptions()
const = 0;
1067 virtual ::std::vector<::OptionID> getActiveOptionIDs(::ControlOptionType)
const = 0;
1070 virtual void setNumberOfActiveConfigs(
int) = 0;
1073 virtual int getNumberOfActiveConfigs()
const = 0;
1076 virtual bool isNoConfigSelected()
const = 0;
1079 virtual void setNumberOfEnabledConfigs(
int) = 0;
1082 virtual int getNumberOfEnabledConfigs()
const = 0;
1085 virtual void setWYSIWYGState(::WYSIWYGState) = 0;
1088 virtual ::WYSIWYGState getWYSIWYGState()
const = 0;
1091 virtual void setOtherConfigsExistInThisCategory(
bool) = 0;
1094 virtual bool getOtherConfigsExistInThisCategory()
const = 0;
1097 virtual void updateTouchPointerLocation(
int,
float,
float) = 0;
1100 virtual ::Vec2 getTouchPointerLocation(
int)
const = 0;
1103 virtual void updateActionPointerId(
int) = 0;
1106 virtual int getActionPointerId()
const = 0;
1109 virtual bool shouldUseLastPointerLocationOnFocusChange() = 0;
1112 virtual bool currentScreenShouldStealMouse() = 0;
1115 virtual ::BuildActionIntention& getInProgressBAI()
const = 0;
1118 virtual ::PacketSender& getPacketSender() = 0;
1121 virtual ::ClientNetworkSystem& getClientNetworkSystem() = 0;
1124 virtual ::ClientNetworkSystem
const& getClientNetworkSystem()
const = 0;
1127 virtual void setMoveTurnInput(::std::unique_ptr<::ClientMoveInputHandler>) = 0;
1130 virtual void setupPersistentControls(::InputMode) = 0;
1133 virtual void resetPlayerMovement() = 0;
1136 virtual void suspendPredictedMovement() = 0;
1139 virtual void onClientInputInitComplete() = 0;
1142 virtual ::glm::vec2 getGamepadCursorPosition()
const = 0;
1145 virtual void setClientInputHandler(::std::unique_ptr<::ClientInputHandler>) = 0;
1148 virtual ::ClientInputHandler* getInput()
const = 0;
1151 virtual int getControllerId()
const = 0;
1154 virtual bool hasConnectedController()
const = 0;
1157 virtual ::SubClientId getClientSubId()
const = 0;
1160 virtual void setSuspendInput(
bool) = 0;
1163 virtual void setSuspendDirectionalInput(
bool) = 0;
1166 virtual void setDisableInput(
bool) = 0;
1169 virtual void grabMouse() = 0;
1172 virtual void releaseMouse() = 0;
1175 virtual void refocusMouse(
bool) = 0;
1178 virtual void setMouseType(::ui::MousePointerType) = 0;
1181 virtual void resetBai(
int) = 0;
1184 virtual void clearInProgressBAI() = 0;
1187 virtual ::Bedrock::NotNullNonOwnerPtr<::SoundEngine> getSoundEngine()
const = 0;
1190 virtual ::MusicManager
const* getMusicManager()
const = 0;
1193 virtual ::MusicManager* getMusicManagerNonConst()
const = 0;
1196 virtual void play(::std::string
const&,
::Vec3 const&,
float,
float) = 0;
1199 virtual void playUI(::std::string
const&,
float,
float) = 0;
1202 virtual void muteAudio() = 0;
1205 virtual void unMuteAudio() = 0;
1208 virtual void fadeOutMusic()
const = 0;
1211 virtual ::TaskGroup& getTaskGroup() = 0;
1214 virtual void onFullVanillaPackOnStack() = 0;
1217 virtual bool isFullVanillaPackOnStack()
const = 0;
1220 virtual void onPlayerLoaded(
::Player&) = 0;
1223 virtual void setClientGameMode(::GameType) = 0;
1226 virtual void resetToDefaultGameMode() = 0;
1229 virtual ::IGameConnectionListener& getGameConnectionListener() = 0;
1232 virtual void connectToThirdPartyServer(::std::string
const&, ::std::string
const&,
int) = 0;
1235 virtual void connectToExperience(
1236 ::std::string
const&,
1237 ::std::function<
void(::std::unique_ptr<::ProgressHandler>,
bool)>,
1238 ::std::function<
void(::World::JoinServerWorldResult)>
1245 virtual bool isReadyToReconnect()
const = 0;
1248 virtual bool checkForPiracy() = 0;
1254 virtual void updateControllerHandling() = 0;
1257 virtual void setBehaviorCommandCallback(::std::function<
void(::std::string
const&, ::BehaviorStatus)>) = 0;
1260 virtual void setBehaviorCommandStatus(::std::string
const&, ::BehaviorStatus) = 0;
1263 virtual void setConnectGamepadScreenActive(
bool) = 0;
1269 virtual ::Core::PathBuffer<::std::string> requestScreenshotAndCreateEncryptedChecksumFile(
::ScreenshotOptions&) = 0;
1272 virtual ::Bedrock::NotNullNonOwnerPtr<::DevConsoleLogger> getDevConsoleLogger()
const = 0;
1275 virtual ::std::shared_ptr<::FileDataRequest> requestImageFromUrl(
1276 ::std::string
const&,
1281 virtual void initializeRenderResources() = 0;
1284 virtual void postInitRenderResources() = 0;
1287 virtual void onAppSuspended() = 0;
1290 virtual void onAppSuspensionDisconnect() = 0;
1293 virtual void onAppResumed() = 0;
1296 virtual void onActiveResourcePacksChanged(::Bedrock::NotNullNonOwnerPtr<::ActorResourceDefinitionGroup>
const&) = 0;
1299 virtual void reloadEntityRenderers(::Bedrock::NotNullNonOwnerPtr<::ActorResourceDefinitionGroup>
const&);
1302 virtual ::BlockTessellator& getBlockTessellator() = 0;
1305 virtual ::BlockActorRenderDispatcher& getBlockEntityRenderDispatcher() = 0;
1308 virtual ::std::shared_ptr<::ActorRenderDispatcher> getEntityRenderDispatcher() = 0;
1311 virtual ::ActorBlockRenderer& getEntityBlockRenderer() = 0;
1314 virtual ::ItemInHandRenderer* getItemInHandRenderer() = 0;
1317 virtual ::ItemRenderer* getItemRenderer() = 0;
1320 virtual ::HudIconActorRenderer* getHudIconActorRenderer() = 0;
1323 virtual ::std::deque<::std::string>& getSentMessageHistory() = 0;
1326 virtual ::std::deque<::std::string>& getDevConsoleMessageHistory() = 0;
1329 virtual ::Bedrock::NotNullNonOwnerPtr<::ProfanityContext> getProfanityContext()
const = 0;
1332 virtual void initTTSClient(::std::shared_ptr<::TextToSpeechClient>) = 0;
1335 virtual ::std::shared_ptr<::TextToSpeechClient> getTTSClient() = 0;
1338 virtual ::std::shared_ptr<::TextToSpeechClient const> getTTSClient()
const = 0;
1341 virtual ::std::shared_ptr<::ITTSEventManager> getTTSEventManager() = 0;
1345 addTTSMessage(::std::string
const&, ::ProfanityFilterContext,
bool, ::std::string
const&,
bool,
bool) = 0;
1348 virtual void initCommands() = 0;
1351 virtual uint getUserId()
const = 0;
1354 virtual bool isPrimaryUser()
const = 0;
1357 virtual double getServerConnectionTime()
const = 0;
1360 virtual void setServerPingTime(
int) = 0;
1363 virtual int getServerPingTime()
const = 0;
1366 virtual void setDefaultPlayscreenTab(::PlayScreenDefaultTab) = 0;
1369 virtual void setClientInstanceState(::ClientInstanceState
const&) = 0;
1375 virtual ::Bedrock::NotNullNonOwnerPtr<::UIEventCoordinator> getUIEventCoordinator() = 0;
1378 virtual ::Bedrock::NotNullNonOwnerPtr<::ClientInstanceEventCoordinator> getEventCoordinator() = 0;
1381 virtual ::ClientNetworkEventCoordinator& getClientNetworkEventCoordinator() = 0;
1384 virtual ::ClientScriptEventCoordinator& getClientScriptEventCoordinator() = 0;
1387 virtual ::std::chrono::steady_clock::time_point getNoBlockBreakUntil() = 0;
1390 virtual void setNoBlockBreakUntil(::std::chrono::steady_clock::time_point) = 0;
1393 virtual ::GameModuleClient* getGameModule() = 0;
1396 virtual ::ClientHitDetectCoordinator& getHitEventCoordinator() = 0;
1399 virtual ::GameCallbacks& getGameCallbacks() = 0;
1402 virtual void setActiveFileStorageArea(::std::shared_ptr<::Core::FileStorageArea>) = 0;
1405 virtual void sendClientEnteredLevel() = 0;
1408 virtual ::HitDetectSystem* getHitDetectSystem() = 0;
1411 virtual bool isPlaying()
const = 0;
1414 virtual ::ClientInstanceState getClientInstanceState()
const = 0;
1417 virtual ::LatencyGraphDisplay* getLatencyGraphDisplay()
const = 0;
1420 virtual ::PlayerCapabilities::IClientController
const& getClientCapabilities()
const = 0;
1423 virtual ::cg::math::Rect<float>
1424 calculateViewPortModifiers(::SubClientId
const, uint64
const, ::SplitScreenDirection
const)
const = 0;
1427 virtual ::std::weak_ptr<::IClientInstance> getWeakPtrToThis() = 0;
1430 virtual ::ClientRequirementVerifier
const& getClientRequirementVerifier()
const = 0;
1433 virtual ::Bedrock::NotNullNonOwnerPtr<::FogDefinitionRegistry const> getFogDefinitionRegistry()
const = 0;
1436 virtual ::Bedrock::NotNullNonOwnerPtr<::FogDefinitionRegistry> getFogDefinitionRegistry() = 0;
1439 virtual ::Bedrock::NotNullNonOwnerPtr<::FogManager const> getFogManager()
const = 0;
1442 virtual ::Bedrock::NotNullNonOwnerPtr<::FogManager> getFogManager() = 0;
1445 virtual ::Bedrock::NotNullNonOwnerPtr<::ScreenLoadTimeTracker> getScreenLoadTimeTracker() = 0;
1448 virtual ::ItemRegistryRef getItemRegistry()
const = 0;
1451 virtual ::Bedrock::NotNullNonOwnerPtr<::DisconnectionRequestHandler> getDisconnectionRequestHandler()
const = 0;
1454 virtual float getRemoteServerTimeMs()
const = 0;
1457 virtual void setRemoteServerTimeMs(
float) = 0;
1460 virtual float getRemoteServerNetworkTimeMs()
const = 0;
1463 virtual void setRemoteServerNetworkTimeMs(
float) = 0;
1466 virtual ::Bedrock::NonOwnerPointer<::ClientScriptManager> getClientScriptManager() = 0;
1469 virtual ::Scripting::ScriptEngine* getScriptingEngine() = 0;
1472 virtual ::Bedrock::NonOwnerPointer<::WorldTransferAgent>
const getWorldTransferAgent()
const = 0;
1475 virtual ::Bedrock::NotNullNonOwnerPtr<::PlayerReportHandler> getPlayerReportHandler() = 0;
1478 virtual void flagDisconnectionAndNotify(::Connection::DisconnectFailReason) = 0;
1484 virtual void disconnectSubClient(::Connection::DisconnectFailReason) = 0;
1487 virtual void setClientUpdateAndRenderThrottling(
bool,
int,
float) = 0;
1490 virtual bool isClientUpdateAndRenderThrottlingEnabled()
const = 0;
1493 virtual int getClientUpdateAndRenderThrottlingThreshold()
const = 0;
1496 virtual float getClientUpdateAndRenderThrottlingScalar()
const = 0;
1499 virtual bool isUserBanned()
const = 0;
1502 virtual void setupPauseManagers() = 0;
1505 virtual bool isEligibleForPauseFeature()
const = 0;
1508 virtual bool requestInGamePause(
bool) = 0;
1511 virtual void openContentLogHistory() = 0;
1514 virtual double getGameUpdateDurationInSeconds()
const = 0;
1517 virtual ::std::optional<::PlayerJoinWorldTelemetryInfo> getPlayerJoinWorldTelemetryInfo()
const = 0;
1520 virtual ::Bedrock::NonOwnerPointer<::LinkedAssetValidator> getLinkedAssetValidator() = 0;