def _dispose(self): specialData = getHeroTankPreviewParams() if self.__isHeroTank else None if specialData is not None and specialData.exitEvent: SoundGroups.g_instance.playSound2D(specialData.exitEvent) self.removeListener(CameraRelatedEvents.VEHICLE_LOADING, self.__onVehicleLoading, EVENT_BUS_SCOPE.DEFAULT) g_clientUpdateManager.removeObjectCallbacks(self) g_currentPreviewVehicle.onChanged -= self.__onVehicleChanged g_currentPreviewVehicle.onVehicleInventoryChanged -= self.__onInventoryChanged self.__comparisonBasket.onChange -= self.__onCompareBasketChanged self.__comparisonBasket.onSwitchChange -= self.__updateHeaderData self.__hangarSpace.onSpaceCreate -= self.__onHangarCreateOrRefresh self.__hangarSpace.setVehicleSelectable( self.__keepVehicleSelectionEnabled) self.removeListener(CameraRelatedEvents.CAMERA_ENTITY_UPDATED, self.handleSelectedEntityUpdated) if self._needToResetAppearance: g_currentPreviewVehicle.selectNoVehicle() g_currentPreviewVehicle.resetAppearance() g_eventBus.handleEvent(events.LobbySimpleEvent( events.LobbySimpleEvent.VEHICLE_PREVIEW_HIDDEN), scope=EVENT_BUS_SCOPE.LOBBY) if self._backAlias == VIEW_ALIAS.VEHICLE_PREVIEW: g_currentVehicle.refreshModel() self._previewBackCb = None self.__unmodifiedItemsPack = None super(VehiclePreview, self)._dispose() if not self._heroInteractive: self.__heroTanksControl.setInteractive(True) if self.__vehAppearanceChanged: g_currentPreviewVehicle.resetAppearance() g_eventBus.removeListener(OFFER_CHANGED_EVENT, self.__onOfferChanged) return
def _dispose(self): g_clientUpdateManager.removeObjectCallbacks(self) g_currentPreviewVehicle.onComponentInstalled -= self.__updateStatus g_currentPreviewVehicle.onVehicleUnlocked -= self._updateBtnState g_currentPreviewVehicle.onVehicleInventoryChanged -= self.__onInventoryChanged g_currentPreviewVehicle.onChanged -= self.__onVehicleChanged self.comparisonBasket.onChange -= self.__onCompareBasketChanged self.comparisonBasket.onSwitchChange -= self.__updateHeaderData self.restores.onRestoreChangeNotify -= self.__onRestoreChanged self.lobbyContext.getServerSettings( ).onServerSettingsChange -= self.__onServerSettingsChanged self.hangarSpace.onSpaceCreate -= self.__onHangarCreateOrRefresh self.hangarSpace.setVehicleSelectable( self.__keepVehicleSelectionEnabled) self.removeListener(CameraRelatedEvents.CAMERA_ENTITY_UPDATED, self.handleSelectedEntityUpdated) if self._needToResetAppearance: g_currentPreviewVehicle.selectNoVehicle() g_currentPreviewVehicle.resetAppearance() if self._backAlias == VIEW_ALIAS.VEHICLE_PREVIEW: g_currentVehicle.refreshModel() self._previewBackCb = None self.__previewDP = None LobbySelectableView._dispose(self) if self.__vehAppearanceChanged: g_currentPreviewVehicle.resetAppearance() return
def _dispose(self): super(VehiclePreview, self)._dispose() g_clientUpdateManager.removeObjectCallbacks(self) g_currentPreviewVehicle.onComponentInstalled -= self.__updateStatus g_currentPreviewVehicle.onVehicleUnlocked -= self.__updateBtnState g_currentPreviewVehicle.onVehicleInventoryChanged -= self.__onInventoryChanged g_currentPreviewVehicle.onChanged -= self.__onVehicleChanged g_currentPreviewVehicle.selectNoVehicle()
def __processPersonalNumberStyleTab(self): style = self.__parentCtx.get( 'numberStyle' ) if self.__currentTabID == TabID.PERSONAL_NUMBER_VEHICLE else None g_currentPreviewVehicle.selectNoVehicle() g_currentPreviewVehicle.selectVehicle(self.__parentCtx.get('itemCD'), style=style) return
def _dispose(self): super(VehiclePreview, self)._dispose() g_clientUpdateManager.removeObjectCallbacks(self) g_currentPreviewVehicle.onComponentInstalled -= self.__updateStatus g_currentPreviewVehicle.onVehicleUnlocked -= self.__updateBtnState g_currentPreviewVehicle.onVehicleInventoryChanged -= self.__onInventoryChanged g_currentPreviewVehicle.onChanged -= self.__onVehicleChanged g_currentPreviewVehicle.selectNoVehicle()
def showCustomization(self, vehInvID=None, callback=None, season=None, modeId=None, tabId=None): if self.__customizationCtx is None: lobbyHeaderNavigationPossible = yield self.__lobbyContext.isHeaderNavigationPossible( ) if not lobbyHeaderNavigationPossible: return self.__showCustomizationKwargs = { 'vehInvID': vehInvID, 'callback': callback, 'season': season, 'modeId': modeId, 'tabId': tabId } shouldSelectVehicle = False if self.hangarSpace.space is not None: self.hangarSpace.space.turretAndGunAngles.set( gunPitch=self.__GUN_PITCH_ANGLE, turretYaw=self.__TURRET_YAW_ANGLE) if vehInvID is not None: vehGuiItem = self.itemsCache.items.getVehicle(vehInvID) if vehGuiItem is not None: if not vehGuiItem.isCustomizationEnabled(): _logger.error( "Can't show customization view for currently non-customizable vehicle '%s'", vehGuiItem.name) return if g_currentVehicle.invID != vehInvID: shouldSelectVehicle = True if not self.hangarSpace.spaceInited or not self.hangarSpace.isModelLoaded or shouldSelectVehicle: if shouldSelectVehicle: if g_currentPreviewVehicle.isPresent(): hideVehiclePreview(back=False, close=True) g_currentPreviewVehicle.selectNoVehicle() BigWorld.callback( 0.0, makeCallbackWeak(g_currentVehicle.selectVehicle, vehInvID=vehInvID)) _logger.info( 'Space or vehicle is not presented, customization view loading delayed' ) self.hangarSpace.onVehicleChanged += self.__delayedShowCustomization self.hangarSpace.onSpaceChanged += self.__delayedShowCustomization return else: if not shouldSelectVehicle and self.hangarSpace.space is not None: vEntity = self.hangarSpace.space.getVehicleEntity() if vEntity is not None: vEntity.appearance.rotateTurretForAnchor(None, None) vEntity.appearance.rotateGunToDefault() self.__delayedShowCustomization() return
def setSelectedVehicle(self, vehicleName): if vehicleName: nationID, vehID = vehicles.g_list.getIDsByName(vehicleName) self.__vehCompDescr = vehicles.makeIntCompactDescrByID( 'vehicle', nationID, vehID) g_currentPreviewVehicle.selectVehicle(self.__vehCompDescr) else: self.__vehCompDescr = self._UNDEFINED_VALUE g_currentPreviewVehicle.selectNoVehicle() self.onUpdated()
def _dispose(self): super(VehiclePreview, self)._dispose() g_clientUpdateManager.removeObjectCallbacks(self) g_currentPreviewVehicle.onComponentInstalled -= self.__updateStatus g_currentPreviewVehicle.onVehicleUnlocked -= self.__updateBtnState g_currentPreviewVehicle.onVehicleInventoryChanged -= self.__onInventoryChanged g_currentPreviewVehicle.onChanged -= self.__onVehicleChanged comparisonBasket = getVehicleComparisonBasketCtrl() comparisonBasket.onChange -= self.__onCompareBasketChanged comparisonBasket.onSwitchChange -= self.__updateHeaderData g_currentPreviewVehicle.selectNoVehicle()
def _dispose(self): super(VehiclePreview, self)._dispose() g_clientUpdateManager.removeObjectCallbacks(self) g_currentPreviewVehicle.onComponentInstalled -= self.__updateStatus g_currentPreviewVehicle.onVehicleUnlocked -= self.__updateBtnState g_currentPreviewVehicle.onVehicleInventoryChanged -= self.__onInventoryChanged g_currentPreviewVehicle.onChanged -= self.__onVehicleChanged comparisonBasket = getVehicleComparisonBasketCtrl() comparisonBasket.onChange -= self.__onCompareBasketChanged comparisonBasket.onSwitchChange -= self.__updateHeaderData g_currentPreviewVehicle.selectNoVehicle()
def _finalize(self): self.__finalizationInProgress = True self.__blur.fini() if self.__tickCallback is not None: BigWorld.cancelCallback(self.__tickCallback) if not self.__selectedMap: MapsTrainingSound.onSelectedMap(True) if self.prbEntity is not None and not self.prbEntity.isInQueue(): g_currentPreviewVehicle.selectNoVehicle() g_currentPreviewVehicle.resetAppearance() super(MapsTrainingView, self)._finalize() return
def _dispose(self): self.__selectedVehicleEntityId = None self.removeListener(CameraRelatedEvents.VEHICLE_LOADING, self.__onVehicleLoading, EVENT_BUS_SCOPE.DEFAULT) g_clientUpdateManager.removeObjectCallbacks(self) self.__hangarSpace.onSpaceCreate -= self.__onHangarCreateOrRefresh self.__heroTanksControl.setInteractive(True) g_currentPreviewVehicle.selectNoVehicle() g_currentPreviewVehicle.resetAppearance() g_eventBus.handleEvent(events.LobbySimpleEvent( events.LobbySimpleEvent.VEHICLE_PREVIEW_HIDDEN), scope=EVENT_BUS_SCOPE.LOBBY) super(VehicleStylePreview, self)._dispose() return
def _dispose(self): super(VehiclePreview, self)._dispose() g_clientUpdateManager.removeObjectCallbacks(self) g_currentPreviewVehicle.onComponentInstalled -= self.__updateStatus g_currentPreviewVehicle.onVehicleUnlocked -= self._updateBtnState g_currentPreviewVehicle.onVehicleInventoryChanged -= self.__onInventoryChanged g_currentPreviewVehicle.onChanged -= self.__onVehicleChanged self.comparisonBasket.onChange -= self.__onCompareBasketChanged self.comparisonBasket.onSwitchChange -= self.__updateHeaderData self.restores.onRestoreChangeNotify -= self.__onRestoreChanged g_hangarSpace.onSpaceCreate -= self.__onHangarCreateOrRefresh g_currentPreviewVehicle.selectNoVehicle() self.__previewDP = None if self.__vehAppearanceChanged: g_currentPreviewVehicle.resetAppearance() return
def _populate(self): self.addListener(CameraRelatedEvents.VEHICLE_LOADING, self.__onVehicleLoading, EVENT_BUS_SCOPE.DEFAULT) self.setTopPanel() self.setBottomPanel() if g_currentPreviewVehicle.intCD == self._vehicleCD: self.__fullUpdate() if self.__hangarVehicleCD and self.__isHeroTank and self.__vehAppearanceChanged: g_currentPreviewVehicle.resetAppearance() g_currentPreviewVehicle.selectVehicle(self.__hangarVehicleCD, style=self.__style) g_currentPreviewVehicle.resetAppearance(self.__previewAppearance) elif g_currentPreviewVehicle.intCD == self._vehicleCD: g_currentPreviewVehicle.selectNoVehicle() g_currentPreviewVehicle.selectVehicle(self._vehicleCD, self.__vehicleStrCD, style=self.__style) super(VehiclePreview, self)._populate() g_currentPreviewVehicle.onChanged += self.__onVehicleChanged g_currentPreviewVehicle.onVehicleInventoryChanged += self.__onInventoryChanged self.__comparisonBasket.onChange += self.__onCompareBasketChanged self.__comparisonBasket.onSwitchChange += self.__updateHeaderData self.__hangarSpace.onSpaceCreate += self.__onHangarCreateOrRefresh self.__hangarSpace.setVehicleSelectable(True) if not g_currentPreviewVehicle.isPresent(): event_dispatcher.showHangar() if not self._heroInteractive: self.__heroTanksControl.setInteractive(False) self.addListener(CameraRelatedEvents.CAMERA_ENTITY_UPDATED, self.handleSelectedEntityUpdated) specialData = getHeroTankPreviewParams() if self.__isHeroTank else None if specialData is not None and specialData.enterEvent: SoundGroups.g_instance.playSound2D(specialData.enterEvent) g_eventBus.addListener(OFFER_CHANGED_EVENT, self.__onOfferChanged) _updateCollectorHintParameters() _updatePostProgressionParameters() return
def _dispose(self): g_clientUpdateManager.removeObjectCallbacks(self) g_currentPreviewVehicle.onChanged -= self.__onVehicleChanged self.comparisonBasket.onChange -= self.__onCompareBasketChanged self.comparisonBasket.onSwitchChange -= self.__updateHeaderData self.hangarSpace.onSpaceCreate -= self.__onHangarCreateOrRefresh self.hangarSpace.setVehicleSelectable( self.__keepVehicleSelectionEnabled) serverSettings = self.lobbyContext.getServerSettings() serverSettings.onServerSettingsChange -= self.__onServerSettingsChanged self.removeListener(CameraRelatedEvents.CAMERA_ENTITY_UPDATED, self.handleSelectedEntityUpdated) if self._needToResetAppearance: g_currentPreviewVehicle.selectNoVehicle() g_currentPreviewVehicle.resetAppearance() if self._backAlias == VIEW_ALIAS.VEHICLE_PREVIEW_20: g_currentVehicle.refreshModel() self._previewBackCb = None super(VehiclePreview20, self)._dispose() if self.__itemsPack or self._backAlias == VIEW_ALIAS.LOBBY_STORE: self.heroTanks.setInteractive(True) if self.__vehAppearanceChanged: g_currentPreviewVehicle.resetAppearance() return
def __onC11nVisibilityChanged(self, _): vehCompDescr = self.mapsTrainingController.getSelectedVehicle() if self.__selectedMap and vehCompDescr: g_currentPreviewVehicle.selectNoVehicle() g_currentPreviewVehicle.selectVehicle(vehCompDescr)
def __onInventoryChanged(self, *_): if not BuyVehicleWindow.getInstances(): g_currentPreviewVehicle.selectNoVehicle()
def __switchCamera(self): ClientSelectableCameraObject.switchCamera() if self.__selectedMap: g_currentPreviewVehicle.selectNoVehicle() self.mapsTrainingController.updateSelectedVehicle()
def __unselectVehicle(self): self.__heroTanksControl.setInteractive(True) g_currentPreviewVehicle.selectNoVehicle() g_currentPreviewVehicle.resetAppearance() self.__selectedVehicleEntityId = None return
def reset(self): self.__mapGeometryID = self._UNDEFINED_VALUE self.__vehCompDescr = self._UNDEFINED_VALUE self.__team = 1 g_currentPreviewVehicle.selectNoVehicle()
def _hideVehicle(self): g_currentPreviewVehicle.selectNoVehicle()
def __onInventoryChanged(self, *_): g_currentPreviewVehicle.selectNoVehicle() event_dispatcher.selectVehicleInHangar(self._vehicleCD)
def __onC11nVisibilityChanged(self, inCustomisation): if inCustomisation and g_currentPreviewVehicle.isPresent(): g_currentPreviewVehicle.selectNoVehicle() if self.__vehCompDescr != self._UNDEFINED_VALUE and not inCustomisation: g_currentPreviewVehicle.selectNoVehicle() g_currentPreviewVehicle.selectVehicle(self.__vehCompDescr)