Ejemplo n.º 1
0
 def _dispose(self):
     self.fireEvent(events.HangarCustomizationEvent(
         events.HangarCustomizationEvent.RESET_VEHICLE_MODEL_TRANSFORM),
                    scope=EVENT_BUS_SCOPE.LOBBY)
     self.fireEvent(
         CameraRelatedEvents(
             CameraRelatedEvents.FORCE_DISABLE_IDLE_PARALAX_MOVEMENT,
             ctx={'isDisable': False}), EVENT_BUS_SCOPE.LOBBY)
     if g_appLoader.getSpaceID() != _SPACE_ID.LOGIN:
         self.__releaseItemSound()
         self.soundManager.playInstantSound(SOUNDS.EXIT)
     self.settingsCore.interfaceScale.onScaleExactlyChanged -= self.__onInterfaceScaleChanged
     self._vehicleCustomizationAnchorsUpdater.stopUpdater()
     self._vehicleCustomizationAnchorsUpdater = None
     if self.hangarSpace.spaceInited:
         space = self.hangarSpace.space
         if self.__locatedOnEmbelem:
             space.clearSelectedEmblemInfo()
         space.locateCameraToStartState()
     self._seasonSoundAnimantion = None
     self.__renderEnv.enable(False)
     self.__renderEnv = None
     self.__viewLifecycleWatcher.stop()
     self.service.stopHighlighter()
     self.lobbyContext.deleteHeaderNavigationConfirmator(
         self.__confirmHeaderNavigation)
     self.lobbyContext.getServerSettings(
     ).onServerSettingsChange -= self.__onServerSettingChanged
     g_eventBus.removeListener(CameraRelatedEvents.IDLE_CAMERA,
                               self.__onNotifyHangarCameraIdleStateChanged)
     self.hangarSpace.onSpaceCreate -= self.__onSpaceCreateHandler
     self.hangarSpace.onSpaceDestroy -= self.__onSpaceDestroyHandler
     self.hangarSpace.onSpaceRefresh -= self.__onSpaceRefreshHandler
     self.service.onRegionHighlighted -= self.__onRegionHighlighted
     if g_currentVehicle.item:
         g_tankActiveCamouflage[
             g_currentVehicle.item.intCD] = self.__ctx.currentSeason
         g_currentVehicle.refreshModel()
     self.__hidePropertiesSheet()
     self.__propertiesSheet = None
     self.__ctx.onPropertySheetShown -= self.__onPropertySheetShown
     self.__ctx.onPropertySheetHidden -= self.__onPropertySheetHidden
     self.__ctx.onCaruselItemSelected -= self.__onCaruselItemSelected
     self.__ctx.onChangesCanceled -= self.__onChangesCanceled
     self.__ctx.onCacheResync -= self.__onCacheResync
     self.__ctx.onCustomizationItemsBought -= self.__onItemsBought
     self.__ctx.onCustomizationItemsRemoved -= self.__onItemsRemoved
     self.__ctx.onCustomizationItemInstalled -= self.__onItemsInstalled
     self.__ctx.onCustomizationTabChanged -= self.__onTabChanged
     self.__ctx.onCustomizationModeChanged -= self.__onModeChanged
     self.__ctx.onCustomizationSeasonChanged -= self.__onSeasonChanged
     self.__ctx = None
     self.service.destroyCtx()
     super(MainView, self)._dispose()
     return
Ejemplo n.º 2
0
 def _populate(self):
     LobbySelectableView._populate(self)
     self.__isSpaceReadyForC11n = self.hangarSpace.spaceInited
     self.__isVehicleReadyForC11n = self.hangarSpace.isModelLoaded
     self.__checkVehicleCameraState()
     g_currentVehicle.onChanged += self.__onCurrentVehicleChanged
     self.hangarSpace.onVehicleChangeStarted += self.__onVehicleLoading
     self.hangarSpace.onVehicleChanged += self.__onVehicleLoaded
     self.hangarSpace.onSpaceRefresh += self.__onSpaceRefresh
     self.hangarSpace.onSpaceCreate += self.__onSpaceCreate
     self._festivityController.onStateChanged += self.__updateFestivityState
     self.igrCtrl.onIgrTypeChanged += self.__onIgrTypeChanged
     self.itemsCache.onSyncCompleted += self.onCacheResync
     self.rankedController.onUpdated += self.onRankedUpdate
     self.rankedController.onGameModeStatusTick += self.__updateAlertMessage
     self.__mapboxCtrl.onPrimeTimeStatusUpdated += self.__updateAlertMessage
     self.battleRoyaleController.onUpdated += self.__updateBattleRoyaleComponents
     self.epicController.onUpdated += self.__onEpicBattleUpdated
     self.epicController.onPrimeTimeStatusUpdated += self.__onEpicBattleUpdated
     self.epicController.onGameModeStatusTick += self.__updateAlertMessage
     self._promoController.onNewTeaserReceived += self.__onTeaserReceived
     self.hangarSpace.setVehicleSelectable(True)
     g_prbCtrlEvents.onVehicleClientStateChanged += self.__onVehicleClientStateChanged
     g_playerEvents.onPrebattleInvitationAccepted += self.__onPrebattleInvitationAccepted
     unitMgr = prb_getters.getClientUnitMgr()
     if unitMgr:
         unitMgr.onUnitJoined += self.__onUnitJoined
     g_clientUpdateManager.addCallbacks({'inventory': self.__updateAlertMessage})
     self.lobbyContext.getServerSettings().onServerSettingsChange += self.__onServerSettingChanged
     self._settingsCore.onSettingsChanged += self.__onSettingsChanged
     self.__wotPlusInfo.onRenewableSubscriptionDataChanged += self.__onWotPlusDataChanged
     self.battlePassController.onSeasonStateChange += self.__switchCarousels
     self.startGlobalListening()
     self.__updateAll()
     self.addListener(LobbySimpleEvent.WAITING_SHOWN, self.__onWaitingShown, EVENT_BUS_SCOPE.LOBBY)
     self.addListener(events.FightButtonEvent.FIGHT_BUTTON_UPDATE, self.__handleFightButtonUpdated, scope=EVENT_BUS_SCOPE.LOBBY)
     self.addListener(CameraRelatedEvents.CAMERA_ENTITY_UPDATED, self.__handleSelectedEntityUpdated)
     self.statsCollector.noteHangarLoadingState(HANGAR_LOADING_STATE.HANGAR_UI_READY, showSummaryNow=True)
     lobbyContext = dependency.instance(ILobbyContext)
     isCrewBooksEnabled = lobbyContext.getServerSettings().isCrewBooksEnabled()
     getTutorialGlobalStorage().setValue(GLOBAL_FLAG.CREW_BOOKS_ENABLED, isCrewBooksEnabled)
     self.__timer = CallbackDelayer()
     self.as_setNotificationEnabledS(crewBooksViewedCache().haveNewCrewBooks())
     self._offersBannerController.showBanners()
     self.fireEvent(events.HangarCustomizationEvent(events.HangarCustomizationEvent.RESET_VEHICLE_MODEL_TRANSFORM), scope=EVENT_BUS_SCOPE.LOBBY)
     if g_currentVehicle.isPresent():
         g_currentVehicle.refreshModel()
     if self.bootcampController.isInBootcamp():
         self.as_setDQWidgetLayoutS(DAILY_QUESTS_WIDGET_CONSTANTS.WIDGET_LAYOUT_SINGLE)
Ejemplo n.º 3
0
 def moveHangarVehicleToCustomizationRoom(self):
     from gui.ClientHangarSpace import customizationHangarCFG
     cfg = customizationHangarCFG()
     targetPos = cfg['v_start_pos']
     yaw = math.radians(cfg['v_start_angles'][0])
     pitch = math.radians(cfg['v_start_angles'][1])
     roll = math.radians(cfg['v_start_angles'][2])
     shadowYOffset = cfg[
         'shadow_forward_y_offset'] if BigWorld.getGraphicsSetting(
             'RENDER_PIPELINE') == 1 else cfg['shadow_deferred_y_offset']
     g_eventBus.handleEvent(events.HangarCustomizationEvent(
         events.HangarCustomizationEvent.CHANGE_VEHICLE_MODEL_TRANSFORM,
         ctx={
             'targetPos': targetPos,
             'rotateYPR': (yaw, pitch, roll),
             'shadowYOffset': shadowYOffset
         }),
                            scope=EVENT_BUS_SCOPE.LOBBY)