def onShowRewardVehicleInGarageBtnClick(self): self.__close() maxRewardPoints = self.lobbyCtx.getServerSettings( ).epicMetaGame.metaLevel.get('maxRewardTokens', 0) vehID = getFinalTankRewardVehicleID(self.eventsCache.getAllQuests(), maxRewardPoints) event_dispatcher.selectVehicleInHangar(vehID)
def goToVehicleView(self, itemCD): vehicle = g_itemsCache.items.getItemByCD(int(itemCD)) if vehicle: if vehicle.isPreviewAllowed(): shared_events.showVehiclePreview(int(itemCD), self.alias) elif vehicle.isInInventory: shared_events.selectVehicleInHangar(itemCD)
def __showHangar(self): if not self.__bootcamp.isInBootcamp(): if self.__previousAlias in _VP_SHOW_HANGAR_ON_SUCCESS_ALIASES: event_dispatcher.selectVehicleInHangar(self.__vehicle.intCD) elif self.__previousAlias == VIEW_ALIAS.EVENT_PROGRESSION_VEHICLE_PREVIEW: self.__eventProgression.showCustomScreen( EventProgressionScreens.MAIN)
def goToVehicleView(self, itemCD): LOG_DEBUG('BCResearch.goToVehicleView', itemCD, self.alias) itemsCache = dependency.instance(IItemsCache) vehicle = itemsCache.items.getItemByCD(int(itemCD)) if vehicle.isPreviewAllowed(): shared_events.showOldVehiclePreview(int(itemCD), self.alias) elif vehicle.isInInventory: shared_events.selectVehicleInHangar(itemCD)
def showVehiclePreview(self): vehicle = self.__getVehicleAward() if vehicle.isInInventory: event_dispatcher.selectVehicleInHangar(vehicle.intCD) else: event_dispatcher.showVehiclePreview( vehicle.intCD, previewAlias=PERSONAL_MISSIONS_ALIASES. PERSONAL_MISSIONS_AWARDS_VIEW_ALIAS)
def goToVehicleView(self, itemCD): vehicle = self._itemsCache.items.getItemByCD(int(itemCD)) if vehicle: if vehicle.isPreviewAllowed(): shared_events.showVehiclePreview(int(itemCD), self.alias) elif vehicle.isInInventory: if not vehicle.activeInNationGroup: itemCD = iterVehTypeCDsInNationGroup(vehicle.intCD).next() shared_events.selectVehicleInHangar(itemCD)
def goToVehicleView(self): if self._vehicle.isPreviewAllowed(): if self._exitEvent.alias in VEHICLE_PREVIEW_ALIASES: self._onExit() else: backCb = partial(shared_events.showVehPostProgressionView, self._intCD, self._exitEvent) shared_events.showVehiclePreview(self._intCD, self.alias, previewBackCb=backCb) elif self._vehicle.isInInventory: shared_events.selectVehicleInHangar(self._intCD)
def showGetVehiclePage(vehicle, params=None): if vehicle.isInInventory and not vehicle.isRented: showInventoryMsg('already_exists', vehicle, msgType=SystemMessages.SM_TYPE.Warning) event_dispatcher.selectVehicleInHangar(vehicle.intCD) return url = helpers.getObtainVehicleURL() if url: url = yield URLMacros().parse(url, params=params) showReferralProgramWindow(url)
def goToVehicleView(self, itemCD): LOG_DEBUG('BCResearch.goToVehicleView', itemCD, self.alias) itemsCache = dependency.instance(IItemsCache) vehicle = itemsCache.items.getItemByCD(int(itemCD)) if vehicle.isPreviewAllowed(): shared_events.showVehiclePreview(int(itemCD), self.alias) elif vehicle.isInInventory: shared_events.selectVehicleInHangar(itemCD) if g_bootcamp.getLessonNum() >= g_bootcamp.getContextIntParameter( 'researchSecondVehicleLesson'): g_bootcampGarage.checkSecondVehicleHintEnabled()
def triggerEffect(self): vehicleCriteria = self._tutorial.getVars().get(self.getTargetID()) if vehicleCriteria is None: LOG_ERROR('Tutorial setting is not found', self._effect.getTargetID()) return else: minLvl, maxLvl = vehicleCriteria.get('levelsRange', (1, 10)) criteria = REQ_CRITERIA.INVENTORY | REQ_CRITERIA.VEHICLE.LEVELS(range(minLvl, maxLvl)) | ~REQ_CRITERIA.VEHICLE.EXPIRED_RENT | ~REQ_CRITERIA.VEHICLE.EVENT_BATTLE vehicles = sorted(g_itemsCache.items.getVehicles(criteria=criteria).values(), key=lambda item: item.level) vehicle = findFirst(None, vehicles) if vehicle is not None: event_dispatcher.selectVehicleInHangar(vehicle.intCD) return
def __onGoToReward(self, _=None): congratsType = self.viewModel.getCongratsType() if congratsType == LootCongratsTypes.CONGRAT_TYPE_VEHICLE: self.__flowLogger.logVehicleShow() selectVehicleInHangar(self.__congratsSourceId) if self.__backToSingleOpening and self._isMemoryRiskySystem: self.destroyWindow() else: self.__closeToHangar() elif congratsType == LootCongratsTypes.CONGRAT_TYPE_STYLE: self.__flowLogger.logStylePreview() self.destroyWindow() isMultiOpening = self._isMemoryRiskySystem and not self.__backToSingleOpening showStyledVehicleByStyleCD(self.__congratsSourceId, isMultiOpening)
def triggerEffect(self): vehicleCriteria = self._tutorial.getVars().get(self.getTargetID()) if vehicleCriteria is None: LOG_ERROR('Tutorial setting is not found', self._effect.getTargetID()) return False else: minLvl, maxLvl = vehicleCriteria.get('levelsRange', (1, 10)) criteria = REQ_CRITERIA.INVENTORY | REQ_CRITERIA.VEHICLE.LEVELS( range(minLvl, maxLvl) ) | ~REQ_CRITERIA.VEHICLE.EXPIRED_RENT | ~REQ_CRITERIA.VEHICLE.EVENT_BATTLE vehicles = sorted( self.itemsCache.items.getVehicles(criteria=criteria).values(), key=lambda item: item.level) vehicle = findFirst(None, vehicles) if vehicle is not None: event_dispatcher.selectVehicleInHangar(vehicle.intCD) return True
def __onSpecialActionButtonClick(self, responseDict): congratsType = responseDict.get('congratsType') congratsSourceId = responseDict.get('congratsSourceId') hasError = False if congratsType == LootCongratsTypes.CONGRAT_TYPE_VEHICLE: self.__flowLogger.logVehicleShow() event_dispatcher.selectVehicleInHangar(int(congratsSourceId)) fireCloseToHangar() elif congratsType == LootCongratsTypes.CONGRAT_TYPE_STYLE: self.__flowLogger.logStylePreview() showStyledVehicleByStyleCD(int(congratsSourceId)) elif congratsType == LootCongratsTypes.CONGRAT_TYPE_TANKMAN: showRecruitWindow(congratsSourceId) fireCloseToHangar() else: hasError = True _logger.error('Wrong NY Lootbox CongratsType: %s', congratsType) if not hasError and self._isMemoryRiskySystem: self.destroyWindow()
def goToVehicleView(self, itemCD): vehicle = self._itemsCache.items.getItemByCD(int(itemCD)) if vehicle.isInInventory: self.uiBootcampLogger.logOnce( action=BCLogActions.BUTTON_VIEW_IN_HANGAR.value) shared_events.selectVehicleInHangar(itemCD)
def __onHangarBtnClick(self): event_dispatcher.selectVehicleInHangar(self.__targetVehicle.intCD) self.__onWindowClose()
def openHangar(self, cmd): if cmd.vehicle_id: shared_events.selectVehicleInHangar(cmd.vehicle_id) else: shared_events.showHangar()
def __onGoToVehicle(self, _=None): self.destroyWindow() selectVehicleInHangar(self.__congratsSourceId)
def __onShowInHangar(self, *args): self.__destroyWindow() event_dispatcher.selectVehicleInHangar(self.__vehicle.intCD)
def __onWindowClose(self): if g_currentVehicle.item == self.__currentVehicle and not self.__itemsCache.items.getItemByCD(self.__currentVehicle.intCD).activeInNationGroup: event_dispatcher.selectVehicleInHangar(self.__targetVehicle.intCD) self.destroyWindow()
def selectVehicle(self): shared_events.selectVehicleInHangar(self._nodeCD)
def __onActionButtonClick(self, _=None): if self.__vehicleCD is not None: event_dispatcher.selectVehicleInHangar(self.__vehicleCD) event_dispatcher.showHangar() self.viewModel.setStartClose(True) return
def __onInventoryChanged(self, *arg): if not g_currentPreviewVehicle.isPresent( ) and self.bootcamp.isInBootcamp(): event_dispatcher.selectVehicleInHangar(self._vehicleCD)
def __handleShowHangar(self): event_dispatcher.selectVehicleInHangar(self.__vehicleIntCD) self.destroyWindow()
def __showHangar(self): if not self.bootcamp.isInBootcamp( ) and self.__successOperation and self.__previousAlias in ( VIEW_ALIAS.VEHICLE_PREVIEW, VIEW_ALIAS.VEHICLE_PREVIEW_20): event_dispatcher.selectVehicleInHangar(self.__vehicle.intCD)
def openHangar(self, cmd): event_dispatcher.hideWebBrowserOverlay() if cmd.vehicle_id: event_dispatcher.selectVehicleInHangar(cmd.vehicle_id) else: event_dispatcher.showHangar()
def selectVehicleInHangar(self): shared_events.selectVehicleInHangar(self.vehCD)
def onGoToHangarClick(self, vehicleID): selectVehicleInHangar(int(vehicleID))
def __onInHangar(self, *_): event_dispatcher.selectVehicleInHangar(self.__vehicle.intCD) self.__destroyWindow()
def showInHangar(self): shared_events.selectVehicleInHangar(self._id)
def __onInventoryChanged(self, *arg): if not g_currentPreviewVehicle.isPresent(): event_dispatcher.selectVehicleInHangar(self.__vehicleCD)
def __showVehicle(self): if self.__vehicle.isInInventory: selectVehicleInHangar(self.__vehicle.intCD) else: showHangar()
def __onInventoryChanged(self, *_): g_currentPreviewVehicle.selectNoVehicle() event_dispatcher.selectVehicleInHangar(self._vehicleCD)
def request4SelectInHangar(self, itemCD): shared_events.selectVehicleInHangar(itemCD)