def onAccountShowGUI(ctx): global onCenterIsLongDisconnected ServicesLocator.statsCollector.noteHangarLoadingState( HANGAR_LOADING_STATE.SHOW_GUI) ServicesLocator.lobbyContext.onAccountShowGUI(ctx) yield ServicesLocator.itemsCache.update(CACHE_SYNC_REASON.SHOW_GUI, notify=False) Waiting.show('enter') ServicesLocator.statsCollector.noteHangarLoadingState( HANGAR_LOADING_STATE.QUESTS_SYNC) ServicesLocator.eventsCache.start() yield ServicesLocator.eventsCache.update() ServicesLocator.statsCollector.noteHangarLoadingState( HANGAR_LOADING_STATE.USER_SERVER_SETTINGS_SYNC) yield ServicesLocator.settingsCache.update() if not ServicesLocator.itemsCache.isSynced(): ServicesLocator.gameplay.goToLoginByError('#menu:disconnect/codes/0') return eula = EULADispatcher() yield eula.processLicense() eula.fini() g_playerEvents.onGuiCacheSyncCompleted(ctx) code = AccountValidator().validate() if code != ValidationCodes.OK: ServicesLocator.gameplay.goToLoginByError( '#menu:disconnect/codes/{}'.format(code)) return ServicesLocator.itemsCache.onSyncCompleted(CACHE_SYNC_REASON.SHOW_GUI, {}) ServicesLocator.settingsCore.serverSettings.applySettings() ServicesLocator.gameState.onAccountShowGUI( ServicesLocator.lobbyContext.getGuiCtx()) accDossier = ServicesLocator.itemsCache.items.getAccountDossier() ServicesLocator.rareAchievesCache.request( accDossier.getBlock('rareAchievements')) premium = ServicesLocator.itemsCache.items.stats.isPremium if ServicesLocator.hangarSpace.inited: ServicesLocator.hangarSpace.refreshSpace(premium) else: ServicesLocator.hangarSpace.init(premium) g_currentVehicle.init() g_currentPreviewVehicle.init() ServicesLocator.webCtrl.start() ServicesLocator.soundCtrl.start() ServicesLocator.gameplay.postStateEvent(PlayerEventID.ACCOUNT_SHOW_GUI) serverSettings = ServicesLocator.lobbyContext.getServerSettings() g_prbLoader.onAccountShowGUI(ServicesLocator.lobbyContext.getGuiCtx()) g_clanCache.onAccountShowGUI() g_blueprintGenerator.init() SoundGroups.g_instance.enableLobbySounds(True) onCenterIsLongDisconnected(True) ServicesLocator.offersProvider.start() guiModsSendEvent('onAccountShowGUI', ctx) if serverSettings.wgcg.getLoginOnStart(): yield ServicesLocator.webCtrl.login() if serverSettings.isElenEnabled(): yield ServicesLocator.eventsController.getEvents( onlySettings=True, onLogin=True, prefetchKeyArtBig=False) yield ServicesLocator.eventsController.getHangarFlag(onLogin=True)
def __initializeHangarSpace(_, callback=None): premium = ServicesLocator.itemsCache.items.stats.isPremium if ServicesLocator.hangarSpace.inited: ServicesLocator.hangarSpace.refreshSpace(premium) else: ServicesLocator.hangarSpace.init(premium) g_currentVehicle.init() g_currentPreviewVehicle.init() callback(True)
def onAccountShowGUI(ctx): global onCenterIsLongDisconnected ServicesLocator.statsCollector.noteHangarLoadingState( HANGAR_LOADING_STATE.SHOW_GUI) ServicesLocator.lobbyContext.onAccountShowGUI(ctx) yield ServicesLocator.itemsCache.update(CACHE_SYNC_REASON.SHOW_GUI) ServicesLocator.statsCollector.noteHangarLoadingState( HANGAR_LOADING_STATE.QUESTS_SYNC) ServicesLocator.eventsCache.start() yield ServicesLocator.eventsCache.update() ServicesLocator.statsCollector.noteHangarLoadingState( HANGAR_LOADING_STATE.USER_SERVER_SETTINGS_SYNC) yield ServicesLocator.settingsCache.update() if not ServicesLocator.itemsCache.isSynced(): g_appLoader.goToLoginByError('#menu:disconnect/codes/0') return eula = EULADispatcher() yield eula.processLicense() eula.fini() g_playerEvents.onGuiCacheSyncCompleted(ctx) code = yield AccountValidator().validate() if code > 0: g_appLoader.goToLoginByError('#menu:disconnect/codes/%d' % code) return ServicesLocator.settingsCore.serverSettings.applySettings() ServicesLocator.gameState.onAccountShowGUI( ServicesLocator.lobbyContext.getGuiCtx()) accDossier = ServicesLocator.itemsCache.items.getAccountDossier() g_rareAchievesCache.request(accDossier.getBlock('rareAchievements')) premium = isPremiumAccount( ServicesLocator.itemsCache.items.stats.attributes) if g_hangarSpace.inited: g_hangarSpace.refreshSpace(premium) else: g_hangarSpace.init(premium) g_currentVehicle.init() g_currentPreviewVehicle.init() ServicesLocator.clanCtrl.start() ServicesLocator.soundCtrl.start() g_appLoader.showLobby() g_prbLoader.onAccountShowGUI(ServicesLocator.lobbyContext.getGuiCtx()) if ServicesLocator.lobbyContext.getServerSettings().isElenEnabled(): yield ServicesLocator.eventsController.getEvents(onlySettings=True, onLogin=True) yield ServicesLocator.eventsController.getHangarFlag(onLogin=True) g_prbLoader.onAccountShowGUI(ServicesLocator.lobbyContext.getGuiCtx()) g_clanCache.onAccountShowGUI() SoundGroups.g_instance.enableLobbySounds(True) onCenterIsLongDisconnected(True) guiModsSendEvent('onAccountShowGUI', ctx) Waiting.hide('enter')
def onAccountShowGUI(ctx): global onCenterIsLongDisconnected g_statistics.noteHangarLoadingState(HANGAR_LOADING_STATE.SHOW_GUI) g_lobbyContext.onAccountShowGUI(ctx) yield g_itemsCache.update(CACHE_SYNC_REASON.SHOW_GUI) g_statistics.noteHangarLoadingState(HANGAR_LOADING_STATE.QUESTS_SYNC) g_eventsCache.start() yield g_eventsCache.update() g_statistics.noteHangarLoadingState(HANGAR_LOADING_STATE.USER_SERVER_SETTINGS_SYNC) yield g_settingsCache.update() if not g_itemsCache.isSynced(): g_appLoader.goToLoginByError("#menu:disconnect/codes/0") return eula = EULADispatcher() yield eula.processLicense() eula.fini() g_playerEvents.onGuiCacheSyncCompleted(ctx) code = yield AccountValidator().validate() if code > 0: g_appLoader.goToLoginByError("#menu:disconnect/codes/%d" % code) return g_settingsCore.serverSettings.applySettings() game_control.g_instance.onAccountShowGUI(g_lobbyContext.getGuiCtx()) accDossier = g_itemsCache.items.getAccountDossier() g_rareAchievesCache.request(accDossier.getBlock("rareAchievements")) premium = isPremiumAccount(g_itemsCache.items.stats.attributes) if g_hangarSpace.inited: g_hangarSpace.refreshSpace(premium) else: g_hangarSpace.init(premium) g_currentVehicle.init() g_currentPreviewVehicle.init() g_appLoader.showLobby() g_prbLoader.onAccountShowGUI(g_lobbyContext.getGuiCtx()) g_clanCache.onAccountShowGUI() g_clubsCtrl.start() g_clanCtrl.start() g_soundsCtrl.start() SoundGroups.g_instance.enableLobbySounds(True) onCenterIsLongDisconnected(True) guiModsSendEvent("onAccountShowGUI", ctx) Waiting.hide("enter")