def showVehiclePreview(vehTypeCompDescr, previewAlias = VIEW_ALIAS.LOBBY_HANGAR): from CurrentVehicle import g_currentPreviewVehicle if g_currentPreviewVehicle.isPresent(): g_currentPreviewVehicle.selectVehicle(vehTypeCompDescr) else: g_eventBus.handleEvent(events.LoadViewEvent(VIEW_ALIAS.VEHICLE_PREVIEW, ctx={'itemCD': vehTypeCompDescr, 'previewAlias': previewAlias}), scope=EVENT_BUS_SCOPE.LOBBY)
def __init__(self, ctx=None): super(VehiclePreview, self).__init__(ctx) self._actionType = None self.__vehicleCD = ctx.get('itemCD') self.__backAlias = ctx.get('previewAlias', VIEW_ALIAS.LOBBY_HANGAR) g_currentPreviewVehicle.selectVehicle(self.__vehicleCD) return
def __init__(self, ctx = None): super(VehiclePreview, self).__init__(ctx) self._actionType = None self.__vehicleCD = ctx.get('itemCD') self.__backAlias = ctx.get('previewAlias', VIEW_ALIAS.LOBBY_HANGAR) g_currentPreviewVehicle.selectVehicle(self.__vehicleCD) return
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 showVehiclePreview(vehTypeCompDescr, previewAlias=VIEW_ALIAS.LOBBY_HANGAR, vehStrCD=None): from CurrentVehicle import g_currentPreviewVehicle if g_currentPreviewVehicle.isPresent(): g_currentPreviewVehicle.selectVehicle(vehTypeCompDescr) else: if constants.IS_BOOTCAMP_ENABLED: if g_bootcamp.isRunning(): from debug_utils_bootcamp import LOG_DEBUG_DEV_BOOTCAMP LOG_DEBUG_DEV_BOOTCAMP('showVehiclePreview', vehTypeCompDescr, previewAlias) g_eventBus.handleEvent(events.LoadViewEvent( VIEW_ALIAS.BOOTCAMP_VEHICLE_PREVIEW, ctx={ 'itemCD': vehTypeCompDescr, 'previewAlias': previewAlias }), scope=EVENT_BUS_SCOPE.LOBBY) return g_eventBus.handleEvent(events.LoadViewEvent(VIEW_ALIAS.VEHICLE_PREVIEW, ctx={ 'itemCD': vehTypeCompDescr, 'previewAlias': previewAlias, 'vehicleStrCD': vehStrCD }), scope=EVENT_BUS_SCOPE.LOBBY)
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 __selectVehicle(self): g_currentPreviewVehicle.selectVehicle(self.__vehicleCD, style=self._style) self.__selectedVehicleEntityId = g_currentPreviewVehicle.vehicleEntityID if not g_currentPreviewVehicle.isPresent() or self._style is None: event_dispatcher.showHangar() self.__heroTanksControl.setInteractive(False) 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 _populate(self): g_currentPreviewVehicle.selectVehicle(self._vehicleCD) if g_currentPreviewVehicle.item.level in DISABLED_TANK_LEVELS: self._disableBuyButton = True super(BCVehiclePreview, self)._populate() g_bootcampEvents.onRequestChangeVehiclePreviewBuyButtonState += self.__setBuyButtonState g_currentPreviewVehicle.onVehicleUnlocked += self.__onVehicleUnlockedMessage g_currentPreviewVehicle.onVehicleInventoryChanged += self.__onVehicleInventoryChanged foundHints = False if self.__isSecondVehicle(): foundHints = g_bootcampGarage.runViewAlias(self.alias) if not foundHints: g_bootcampGarage.checkReturnToHangar() g_bootcampEvents.onEnterPreview()
def __update(self, collapseItems=False): if self.__cachedVehiclesVOs: g_currentPreviewVehicle.selectVehicle( self.__cachedVehiclesVOs[0]['intCD']) self.as_setSetVehiclesDataS({'vehicles': self.__cachedVehiclesVOs}) if self.__couponInfo: self.__updateEnabledState(self.__cachedCollapsedItemsVOs, self.__couponInfo.selected) self.__updateEnabledState(self.__cachedItemsVOs, self.__couponInfo.selected) if collapseItems and self.__cachedCollapsedItemsVOs: self.as_setSetItemsDataS({'items': self.__cachedCollapsedItemsVOs}) elif self.__cachedItemsVOs: self.as_setSetItemsDataS({'items': self.__cachedItemsVOs}) self.__updateBtnState()
def _populate(self): g_currentPreviewVehicle.selectVehicle(self.__vehicleCD) if g_currentPreviewVehicle.item.level in DISABLED_TANK_LEVELS: self._disableBuyButton = True super(BCVehiclePreview, self)._populate() g_bootcampEvents.onRequestChangeVehiclePreviewBuyButtonState += self.__setBuyButtonState from bootcamp.BootcampGarage import g_bootcampGarage nationData = g_bootcampGarage.getNationData() g_currentPreviewVehicle.onVehicleUnlocked += self.__onVehicleUnlockedMessage g_currentPreviewVehicle.onVehicleInventoryChanged += self.__onVehicleInventoryChanged foundHints = False if nationData['vehicle_second'] == self.__vehicleCD: foundHints = g_bootcampGarage.runViewAlias(self.alias) if not foundHints: g_bootcampGarage.closeAllPopUps() g_bootcampGarage.checkReturnToHangar()
def _populate(self): g_currentPreviewVehicle.selectVehicle(self._vehicleCD, self.__vehicleStrCD) super(VehiclePreview20, self)._populate() g_currentPreviewVehicle.onChanged += self.__onVehicleChanged self.comparisonBasket.onChange += self.__onCompareBasketChanged self.comparisonBasket.onSwitchChange += self.__updateHeaderData self.hangarSpace.onSpaceCreate += self.__onHangarCreateOrRefresh self.hangarSpace.setVehicleSelectable(True) serverSettings = self.lobbyContext.getServerSettings() serverSettings.onServerSettingsChange += self.__onServerSettingsChanged if not g_currentPreviewVehicle.isPresent(): event_dispatcher.showHangar() if self.__itemsPack or self._backAlias == VIEW_ALIAS.LOBBY_STORE: self.heroTanks.setInteractive(False) self.addListener(CameraRelatedEvents.CAMERA_ENTITY_UPDATED, self.handleSelectedEntityUpdated)
def _populate(self): g_currentPreviewVehicle.selectVehicle(self.__vehicleCD, self.__vehicleStrCD) super(VehiclePreview, self)._populate() g_clientUpdateManager.addMoneyCallback(self._updateBtnState) g_clientUpdateManager.addCallbacks({'stats.freeXP': self._updateBtnState}) 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 if g_currentPreviewVehicle.isPresent(): self.__fullUpdate() else: event_dispatcher.showHangar()
def setPackItems(self, packItems, price, title): self.__packTitle = title if title is not None else '' self.__packPrice = price self.__packItems = packItems self.__customizationStyle = None vehiclesItems = [] items = [] for item in packItems: if item.type in ItemPackTypeGroup.VEHICLE: vehiclesItems.append(item) if item.type in ItemPackTypeGroup.STYLE and not self.__customizationStyle: self.__customizationStyle = item.id items.append(item) vehiclesVOs, itemsVOs = self.__previewDP.getItemsPackData(g_currentPreviewVehicle.item, items, vehiclesItems) if vehiclesVOs: g_currentPreviewVehicle.selectVehicle(vehiclesVOs[0]['intCD']) self.as_setSetVehiclesDataS({'vehicles': vehiclesVOs}) if itemsVOs: self.as_setSetItemsDataS({'items': itemsVOs}) self.__updateBtnState() return
def _populate(self): g_currentPreviewVehicle.selectVehicle(self._vehicleCD, self.__vehicleStrCD) LobbySelectableView._populate(self) g_clientUpdateManager.addMoneyCallback(self._updateBtnState) g_clientUpdateManager.addCallbacks( {'stats.freeXP': self._updateBtnState}) 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.hangarSpace.onSpaceCreate += self.__onHangarCreateOrRefresh self.hangarSpace.setVehicleSelectable(True) if g_currentPreviewVehicle.isPresent(): self.__fullUpdate() else: event_dispatcher.showHangar() self.addListener(CameraRelatedEvents.CAMERA_ENTITY_UPDATED, self.handleSelectedEntityUpdated)
def _populate(self): self.setTopPanel() super(VehicleStylePreview, self)._populate() g_currentPreviewVehicle.selectVehicle(self.__vehicleCD, style=self._style) self.__selectedVehicleEntityId = g_currentPreviewVehicle.vehicleEntityID if not g_currentPreviewVehicle.isPresent() or self._style is None: event_dispatcher.showHangar() self.__hangarSpace.onSpaceCreate += self.__onHangarCreateOrRefresh self.addListener(CameraRelatedEvents.VEHICLE_LOADING, self.__onVehicleLoading, EVENT_BUS_SCOPE.DEFAULT) self.__heroTanksControl.setInteractive(False) self.as_setDataS({ 'closeBtnLabel': backport.text(R.strings.vehicle_preview.header.closeBtn.label()), 'backBtnLabel': backport.text(R.strings.vehicle_preview.header.backBtn.label()), 'backBtnDescrLabel': self.__backBtnDescrLabel, 'showCloseBtn': _SHOW_CLOSE_BTN, 'showBackButton': _SHOW_BACK_BTN }) self.as_setAdditionalInfoS({ 'objectSubtitle': text_styles.main( backport.text(getGroupFullNameResourceID( self._style.groupID))), 'objectTitle': self._style.userName, 'descriptionTitle': backport.text( R.strings.tooltips.vehiclePreview.historicalReference.title()), 'descriptionText': self.__styleDescr }) return
def __onC11nVisibilityChanged(self, _): vehCompDescr = self.mapsTrainingController.getSelectedVehicle() if self.__selectedMap and vehCompDescr: g_currentPreviewVehicle.selectNoVehicle() g_currentPreviewVehicle.selectVehicle(vehCompDescr)
def _showVehicle(self): if g_currentPreviewVehicle.isHeroTank: g_currentPreviewVehicle.selectHeroTank(False) g_currentPreviewVehicle.selectVehicle(self.__vehCompDescr)
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)
def _populate(self): g_currentPreviewVehicle.selectVehicle(self._vehicleCD) if g_currentPreviewVehicle.item.level in DISABLED_TANK_LEVELS: self._disableBuyButton = True super(BCVehiclePreview, self)._populate()
def onCarouselVehicleSelected(self, intCD): self._vehicleCD = intCD g_currentPreviewVehicle.selectVehicle(intCD)