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 __init__(self, ctx=None, skipConfirm=False): LobbySelectableView.__init__(self, ctx) self._actionType = None self._showHeaderCloseBtn = True self._vehicleCD = ctx['itemCD'] self.__vehicleStrCD = ctx.get('vehicleStrCD') self._previousBackAlias = ctx.get('previousBackAlias') self._previewBackCb = ctx.get('previewBackCb') self._backAlias = ctx.get('previewAlias', VIEW_ALIAS.LOBBY_HANGAR) self.__manageVehicleModel = ctx.get('manageVehicleModel', False) if 'previewAppearance' in ctx: self.__vehAppearanceChanged = True g_currentPreviewVehicle.resetAppearance(ctx['previewAppearance']) else: self.__vehAppearanceChanged = False self.__previewDP = ctx.get('previewDP', DefaultVehPreviewDataProvider()) self.__isHeroTank = ctx.get('isHeroTank', False) self._skipConfirm = skipConfirm self._disableBuyButton = False self.__keepVehicleSelectionEnabled = False self._needToResetAppearance = True if 'objectSelectionEnabled' in ctx: self._objectSelectionEnabled = ctx.get('objectSelectionEnabled') return
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 onExit(self): self.reset() self.__preferences.resetSessionFilters() g_currentPreviewVehicle.resetAppearance() g_playerEvents.onDisconnected -= self.__onDisconnected g_eventBus.removeListener(events.ViewEventType.LOAD_VIEW, self.__viewLoaded, EVENT_BUS_SCOPE.LOBBY)
def _populate(self): self.addListener(CameraRelatedEvents.VEHICLE_LOADING, self.__onVehicleLoading, EVENT_BUS_SCOPE.DEFAULT) 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, None) g_currentPreviewVehicle.resetAppearance(self.__previewAppearance) g_currentPreviewVehicle.selectVehicle(self._vehicleCD, self.__vehicleStrCD) 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 __init__(self, ctx=None): self.__ctx = ctx self._backAlias = ctx.get('previewAlias', VIEW_ALIAS.LOBBY_HANGAR) self._itemsPack = ctx.get('itemsPack') if self._backAlias == VIEW_ALIAS.LOBBY_STORE or self._itemsPack is not None: self._COMMON_SOUND_SPACE = SHOP_PREVIEW_SOUND_SPACE elif self._backAlias in (VIEW_ALIAS.LOBBY_TECHTREE, VIEW_ALIAS.LOBBY_RESEARCH): self._COMMON_SOUND_SPACE = RESEARCH_PREVIEW_SOUND_SPACE elif self._backAlias in (VIEW_ALIAS.RANKED_BATTLE_PAGE, VIEW_ALIAS.VEH_POST_PROGRESSION): self._COMMON_SOUND_SPACE = VEHICLE_PREVIEW_SOUND_SPACE super(VehiclePreview, self).__init__(ctx) self.__currentOffer = None self._vehicleCD = ctx['itemCD'] self.__vehicleStrCD = ctx.get('vehicleStrCD') self._previousBackAlias = ctx.get('previousBackAlias') self._previewBackCb = ctx.get('previewBackCb') self.__isHeroTank = ctx.get('isHeroTank', False) self.__customizationCD = (ctx.get('vehParams') or {}).get('styleCD') self.__offers = ctx.get('offers') self._price = ctx.get('price', MONEY_UNDEFINED) self._oldPrice = ctx.get('oldPrice', MONEY_UNDEFINED) self._title = ctx.get('title') self.__description = ctx.get('description') self.__endTime = ctx.get('endTime') self.__buyParams = ctx.get('buyParams') self.__topPanelData = ctx.get('topPanelData') or {} self.__style = ctx.get('style') self.__unmodifiedItemsPack = deepcopy(self._itemsPack) addBuiltInEquipment(self._itemsPack, self.__itemsCache, self._vehicleCD) notInteractive = (VIEW_ALIAS.LOBBY_STORE, VIEW_ALIAS.RANKED_BATTLE_PAGE, VIEW_ALIAS.VEH_POST_PROGRESSION, VIEW_ALIAS.RESOURCE_WELL_VEHICLE_PREVIEW, VIEW_ALIAS.RESOURCE_WELL_HERO_VEHICLE_PREVIEW) self._heroInteractive = not (self._itemsPack or self.__offers or self.__topPanelData or self._backAlias in notInteractive) self.__haveCustomCrew = any( (item.type == ItemPackType.CREW_CUSTOM for item in self._itemsPack)) if self._itemsPack else False self.__hangarVehicleCD = ctx.get('hangarVehicleCD') self.__previewAppearance = ctx.get('previewAppearance') if self.__previewAppearance: self.__vehAppearanceChanged = True g_currentPreviewVehicle.resetAppearance(self.__previewAppearance) else: self.__vehAppearanceChanged = False self.__keepVehicleSelectionEnabled = False self._needToResetAppearance = True if not self.__isHeroTank: self.__hangarSpace.removeVehicle() g_currentPreviewVehicle.selectHeroTank(self.__isHeroTank) return
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 __init__(self, ctx = None, skipConfirm = False): super(VehiclePreview, self).__init__(ctx) self._actionType = None self._showVehInfoPanel = True self._showHeaderCloseBtn = True self.__vehicleCD = ctx['itemCD'] self.__vehicleStrCD = ctx.get('vehicleStrCD') self.__backAlias = ctx.get('previewAlias', VIEW_ALIAS.LOBBY_HANGAR) if 'previewAppearance' in ctx: self.__vehAppearanceChanged = True g_currentPreviewVehicle.resetAppearance(ctx['previewAppearance']) else: self.__vehAppearanceChanged = False self.__previewDP = ctx.get('previewDP', DefaultVehPreviewDataProvider()) self._skipConfirm = skipConfirm self._disableBuyButton = False return
def __init__(self, ctx=None): super(VehiclePreview20, self).__init__(ctx) self._showCloseBtn = True self._vehicleCD = ctx['itemCD'] self.__vehicleStrCD = ctx.get('vehicleStrCD') self._previousBackAlias = ctx.get('previousBackAlias') self._previewBackCb = ctx.get('previewBackCb') self._backAlias = ctx.get('previewAlias', VIEW_ALIAS.LOBBY_HANGAR) self.__isHeroTank = ctx.get('isHeroTank', False) self.__itemsPack = ctx.get('itemsPack') self.__price = ctx.get('price') self.__oldPrice = ctx.get('oldPrice') self.__title = ctx.get('title') self.__endTime = ctx.get('endTime') self.__buyParams = ctx.get('buyParams') if 'previewAppearance' in ctx: self.__vehAppearanceChanged = True g_currentPreviewVehicle.resetAppearance(ctx['previewAppearance']) else: self.__vehAppearanceChanged = False self.__keepVehicleSelectionEnabled = False self._needToResetAppearance = True
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 __unselectVehicle(self): self.__heroTanksControl.setInteractive(True) g_currentPreviewVehicle.selectNoVehicle() g_currentPreviewVehicle.resetAppearance() self.__selectedVehicleEntityId = None return