def _populate(self): super(HangarVehicleInfo, self)._populate() self.__battleRoyaleController.onUpdated += self.__onBattleRoyaleEnabledChanged self.startGlobalListening() self.as_setDataS({ 'btnCloseLabel': backport.text( R.strings.battle_royale.hangarVehicleInfo.closeBtn()), 'infoIconSource': backport.image(R.images.gui.maps.icons.library.info()), 'infoText': text_styles.highlightText( backport.text( R.strings.battle_royale.hangarVehicleInfo.moduleTreeTip(), key=text_styles.neutral( br_helpers.getHotKeyString( CommandMapping.CMD_UPGRADE_PANEL_SHOW)))), 'vehTitle': text_styles.grandTitle(self.__vehicle.shortUserName), 'vehTypeIcon': getTypeBigIconPath(self.__vehicle.type), 'tutorialText': backport.text( R.strings.battle_royale.hangarVehicleInfo.tutorialText()) })
def _vehicleHeaderCreator(vehicleCDStr): itemsCache = dependency.instance(IItemsCache) vehicle = itemsCache.items.getItemByCD(int(vehicleCDStr)) title = vehicle.shortUserName iconPath = getTypeBigIconPath(vehicle.type, vehicle.isPremium) txtLevel = int2roman(vehicle.level) return (title, iconPath, txtLevel)
def __getHeaderBlock(self, vehItemDict): block = [] icon = getTypeBigIconPath(vehItemDict['veh'].type, vehItemDict['veh'].isElite) paramName = '/'.join((self.getTriggerChainID(), 'one')) values = {'vehicles': vehItemDict['title'], 'discount': vehItemDict['price']} titleDescr = text_styles.superPromoTitle(self._getShortDescription(paramName, **values)) block.append(formatters.packImageTextBlockData(title=titleDescr, img=icon, imgPadding=formatters.packPadding(left=10, top=-15), txtGap=-6, txtOffset=84, padding=formatters.packPadding(top=15, bottom=-17))) return block
def __updateHeader(self): vehicle = self.__getVehicleAward() operationVO = { 'level': MENU.levels_roman(vehicle.level), 'title': self.getOperation().getShortUserName(), 'description': PERSONAL_MISSIONS.AWARDSVIEW_DESCRIPTION, 'vehIcon': getTypeBigIconPath(vehicle.type, vehicle.isElite) } self.as_setHeaderDataS(operationVO)
def getTitleVO(vehicle): baseVO = getBaseTitleVO(vehicle) tankTier = int2roman(vehicle.level) baseVO.update({ 'showInfoIcon': True, 'tankTierStr': text_styles.grandTitle(tankTier), 'tankTierStrSmall': text_styles.promoTitle(tankTier), 'typeIconPath': getTypeBigIconPath(vehicle.type, vehicle.isElite), 'isElite': vehicle.isElite }) return baseVO
def __getVehicleData(self): if self.__vehicleAward is None: return else: vehicle, _ = first(self.__vehicleAward.getVehicles()) vehName = vehicle.name vehIcon = RES_ICONS.getPersonalMissionVehicleAwardImage( ICONS_SIZES.X550, vehName.split(':')[-1]) vehicleLevel = _ms(TOOLTIPS.level(vehicle.level)) vehicleTypeIcon = getTypeBigIconPath(vehicle.type, vehicle.isElite) return { 'vehicleSrc': vehIcon, 'vehicleTypeIcon': vehicleTypeIcon, 'vehicleName': vehicle.userName, 'vehicleLevel': vehicleLevel } if vehIcon is not None else None
def construct(self): block = [] headerBlocks = [] if self.vehicle.isElite: vehicleType = TOOLTIPS.tankcaruseltooltip_vehicletype_elite( self.vehicle.type) bgLinkage = BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_ELITE_VEHICLE_BG_LINKAGE else: vehicleType = TOOLTIPS.tankcaruseltooltip_vehicletype_normal( self.vehicle.type) bgLinkage = BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_NORMAL_VEHICLE_BG_LINKAGE nameStr = text_styles.highTitle(self.vehicle.userName) typeStr = text_styles.main(vehicleType) levelStr = text_styles.concatStylesWithSpace( text_styles.stats(int2roman(self.vehicle.level)), text_styles.standard(_ms(TOOLTIPS.VEHICLE_LEVEL))) icon = getTypeBigIconPath(self.vehicle.type, self.vehicle.isElite) headerBlocks.append( formatters.packImageTextBlockData( title=nameStr, desc=text_styles.concatStylesToMultiLine( levelStr + ' ' + typeStr, ''), img=icon, imgPadding=formatters.packPadding(left=10, top=-15), txtGap=-2, txtOffset=99, padding=formatters.packPadding( top=15, bottom=-15 if self.vehicle.isFavorite else -21))) if self.vehicle.isFavorite: headerBlocks.append( formatters.packImageTextBlockData( title=text_styles.neutral(TOOLTIPS.VEHICLE_FAVORITE), img=RES_ICONS.MAPS_ICONS_TOOLTIP_MAIN_TYPE, imgPadding=formatters.packPadding(top=-15), imgAtLeft=False, txtPadding=formatters.packPadding(left=10), txtAlign=BLOCKS_TOOLTIP_TYPES.ALIGN_RIGHT, padding=formatters.packPadding(top=-28, bottom=-27))) block.append( formatters.packBuildUpBlockData( headerBlocks, stretchBg=False, linkage=bgLinkage, padding=formatters.packPadding(left=-self.leftPadding))) return block
def construct(self): block = [] headerBlocks = [] if self.vehicle.isElite: vehicleType = TOOLTIPS.tankcaruseltooltip_vehicletype_elite(self.vehicle.type) bgLinkage = BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_ELITE_VEHICLE_BG_LINKAGE else: vehicleType = TOOLTIPS.tankcaruseltooltip_vehicletype_normal(self.vehicle.type) bgLinkage = BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_NORMAL_VEHICLE_BG_LINKAGE nameStr = text_styles.highTitle(self.vehicle.userName) typeStr = text_styles.main(vehicleType) levelStr = text_styles.concatStylesWithSpace( text_styles.stats(int2roman(self.vehicle.level)), text_styles.standard(_ms(TOOLTIPS.VEHICLE_LEVEL)) ) icon = getTypeBigIconPath(self.vehicle.type, self.vehicle.isElite) headerBlocks.append( formatters.packImageTextBlockData( title=nameStr, desc=text_styles.concatStylesToMultiLine(levelStr + " " + typeStr, ""), img=icon, imgPadding=formatters.packPadding(left=10, top=-15), txtGap=-2, txtOffset=99, padding=formatters.packPadding(top=15, bottom=-15 if self.vehicle.isFavorite else -21), ) ) if self.vehicle.isFavorite: headerBlocks.append( formatters.packImageTextBlockData( title=text_styles.neutral(TOOLTIPS.VEHICLE_FAVORITE), img=RES_ICONS.MAPS_ICONS_TOOLTIP_MAIN_TYPE, imgPadding=formatters.packPadding(top=-15), imgAtLeft=False, txtPadding=formatters.packPadding(left=10), txtAlign=BLOCKS_TOOLTIP_TYPES.ALIGN_RIGHT, padding=formatters.packPadding(top=-28, bottom=-27), ) ) block.append( formatters.packBuildUpBlockData( headerBlocks, stretchBg=False, linkage=bgLinkage, padding=formatters.packPadding(left=-self.leftPadding) ) ) return block
def processQueueInfo(self, qInfo): info = dict(qInfo) if 'classes' in info: vClasses = info['classes'] vClassesLen = len(vClasses) else: vClasses = [] vClassesLen = 0 self._createCommonPlayerString(sum(vClasses)) if vClassesLen: vClassesData = [] for vClass, message in TYPES_ORDERED: idx = constants.VEHICLE_CLASS_INDICES[vClass] vClassesData.append({'type': message, 'icon': getTypeBigIconPath(vClass), 'count': vClasses[idx] if idx < vClassesLen else 0}) self._proxy.as_setDPS(vClassesData) self._proxy.as_showStartS(self._isStartButtonDisplayed(vClasses))
def _populate(self): super(BattleVehicleConfigurator, self)._populate() if self.app is not None: self.app.registerGuiKeyHandler(self) self.addListener(GameEvent.HIDE_VEHICLE_UPGRADE, self.__handleHide, EVENT_BUS_SCOPE.BATTLE) self.__blur.enable = True vehicle = self.__getProgressionVehicle() self.as_setDataS({ 'vehTypeIcon': getTypeBigIconPath(vehicle.type), 'vehName': vehicle.userName }) vehicleStateCtrl = self.__getVehicleStateCtrl() if vehicleStateCtrl is not None: vehicleStateCtrl.onVehicleStateUpdated += self.__onVehicleStateUpdated if BattleReplay.g_replayCtrl.isPlaying: g_replayEvents.onTimeWarpStart += self.__onReplayTimeWarpStart BREvents.playSound(BREvents.VEH_CONFIGURATOR_SHOW) self.__isActive = True return
def setRecord(self, result, reusable): for _, item in reusable.personal.getVehicleItemsIterator(): self.addNextComponent( base.DirectStatsItem('', getTypeBigIconPath(item.type)))
def getTankIcon(self, vehicle): return getTypeBigIconPath(vehicle.type)
def _getRootData(self): root = self.vehicle rootNode = self._data.getRootNode() nodeState = rootNode.getState() bpfProps = rootNode.getBpfProps() isNext2Unlock = NODE_STATE.isNext2Unlock(nodeState) isPremium = NODE_STATE.isCollectibleActionVehicle( nodeState) or NODE_STATE.isPremium(nodeState) comparisonState, comparisonTooltip = resolveStateTooltip( self._cmpBasket, root, enabledTooltip='', fullTooltip=TOOLTIPS.RESEARCHPAGE_VEHICLE_BUTTON_COMPARE_DISABLED) tankTier = int2roman(root.level) tankHasNationGroup = (root.isInInventory or root.isRented) and root.hasNationGroup isNationChangeAvailable = root.isNationChangeAvailable isShownNationChangeTooltip = tankHasNationGroup and not isNationChangeAvailable result = { 'vehicleTitle': { 'intCD': self._data.getRootCD(), 'tankTierStr': text_styles.grandTitle(tankTier), 'tankNameStr': text_styles.grandTitle(root.userName), 'tankTierStrSmall': text_styles.promoTitle(tankTier), 'tankNameStrSmall': text_styles.promoTitle(root.userName), 'typeIconPath': getTypeBigIconPath(root.type, root.isElite), 'isElite': root.isElite, 'statusStr': self.__getRootStatusStr(root), 'roleText': getRoleTextWithIcon(root.role, root.roleLabel) }, 'vehicleButton': { 'shopIconPath': RES_SHOP.getVehicleIcon(STORE_CONSTANTS.ICON_SIZE_MEDIUM, root.name.split(':')[1]), 'compareBtnVisible': not self.__bootcamp.isInBootcamp(), 'compareBtnEnabled': comparisonState, 'compareBtnLabel': backport.text( R.strings.menu.research.labels.button.addToCompare()), 'compareBtnTooltip': comparisonTooltip, 'previewBtnEnabled': root.isPreviewAllowed(), 'previewBtnLabel': backport.text( R.strings.menu.research.labels.button.vehiclePreview()), 'isPremium': isPremium, 'vehicleId': self._data.getRootCD(), 'vehicleState': nodeState, 'isInInventory': NODE_STATE.inInventory(nodeState), 'previewAlias': VIEW_ALIAS.LOBBY_RESEARCH, 'cmHandlerType': CONTEXT_MENU_HANDLER_TYPE.RESEARCH_VEHICLE }, 'isInteractive': self.__getIsInteractive(root, rootNode), 'buttonLabel': self.__getMainButtonLabel(root, rootNode), 'blueprintLabel': self.__getResearchPageBlueprintLabel(rootNode), 'blueprintProgress': rootNode.getBlueprintProgress(), 'blueprintCanConvert': bpfProps.canConvert if bpfProps is not None else False, 'bpbGlowEnabled': isNext2Unlock, 'itemPrices': rootNode.getItemPrices(), 'discountStr': self.__getDiscountBannerStr(root, rootNode), 'rentBtnLabel': self.__getRentButtonLabel(rootNode), 'changeNationBtnVisibility': tankHasNationGroup, 'isTankNationChangeAvailable': isNationChangeAvailable, 'nationChangeIsNew': not AccountSettings.getSettings(NATION_CHANGE_VIEWED), 'nationChangeTooltip': self.__getNationChangeTooltip(root) if isShownNationChangeTooltip else '' } return result
def setRecord(self, result, reusable): _, item = first(reusable.personal.getVehicleItemsIterator()) self.addNextComponent(base.DirectStatsItem('name', item.userName)) self.addNextComponent( base.DirectStatsItem('typeIcon', getTypeBigIconPath(item.type, False)))