def buildBattleRoyalePages(headerTitle, mapGeometryName): pages = [] mapResourceName = 'c_' + replaceHyphenToUnderscore(mapGeometryName) imagePath = R.images.gui.maps.icons.battleHelp.battleRoyale.dyn( mapResourceName) if not imagePath.isValid(): raise SoftException( 'No icons found for map {}'.format(mapGeometryName)) _addPage( pages, headerTitle, backport.text( R.strings.ingame_help.detailsHelp.battleRoyale.radar.title()), text_styles.mainBig( backport.text(R.strings.ingame_help.detailsHelp.battleRoyale.radar. description())), [], backport.image(imagePath.br_radar())) _addPage( pages, headerTitle, backport.text( R.strings.ingame_help.detailsHelp.battleRoyale.zone.title()), text_styles.mainBig( backport.text(R.strings.ingame_help.detailsHelp.battleRoyale.zone. description())), [], backport.image(imagePath.br_zone())) _addPage( pages, headerTitle, backport.text(R.strings.ingame_help.detailsHelp.battleRoyale. sectorVision.title()), text_styles.mainBig( backport.text(R.strings.ingame_help.detailsHelp.battleRoyale. sectorVision.description())), [], backport.image(imagePath.br_sector())) _addPage( pages, headerTitle, backport.text( R.strings.ingame_help.detailsHelp.battleRoyale.airDrop.title()), text_styles.mainBig( backport.text(R.strings.ingame_help.detailsHelp.battleRoyale. airDrop.description())), [], backport.image(imagePath.br_airdrop())) _addPage( pages, headerTitle, backport.text( R.strings.ingame_help.detailsHelp.battleRoyale.upgrade.title()), text_styles.mainBig( backport.text(R.strings.ingame_help.detailsHelp.battleRoyale. upgrade.description())), [], backport.image(imagePath.br_tree())) _addPage( pages, headerTitle, backport.text(R.strings.ingame_help.detailsHelp.battleRoyale. uniqueAbilities.title()), text_styles.mainBig( backport.text(R.strings.ingame_help.detailsHelp.battleRoyale. uniqueAbilities.description())), [], backport.image(imagePath.br_unique_abilities())) return pages
def getTitleParameters(self): if not self.__linkedParameters: return [] sourceQuestionId = self.__linkedParameters.fromQuestion answerResIds = [ _STR_PATH.response.num('_'.join( (sourceQuestionId, replaceHyphenToUnderscore(answer))))() for answer in self.__linkedParameters.answers if answer in self._mapboxCtrl.surveyManager.getSelectedAnswers(sourceQuestionId) ] return [resId for resId in answerResIds if resId != R.invalid()]
def __fillSlotByVehicle(self, slotVm, vehicle): nation = vehicle.name.split(':')[0] slotVm.setVehicleIcon( R.images.gui.maps.shop.vehicles.c_360x270.dyn( replaceHyphenToUnderscore(getNationLessName(vehicle.name)))()) slotVm.setVehicleName(vehicle.shortUserName) slotVm.setNationIcon( R.images.gui.maps.icons.flags.c_362x362.dyn(nation)()) slotVm.setVehicleLevel(int2roman(vehicle.level)) slotVm.setVehicleType(vehicle.type) slotVm.setVehicleTypeIcon( R.images.gui.maps.icons.vehicleTypes.white.dyn( replaceHyphenToUnderscore(vehicle.type))()) nySlot = self.__nyController.getVehicleBranch().getSlotForVehicle( vehicle.invID) if nySlot is not None: bonusType, value = nySlot.getSlotBonus() slotVm.bonus.setBonusType(bonusType) slotVm.bonus.setBonusValue(value * PERCENT) return
def getImage(self): if self.__guiParameters.useMapId: return '%s_%s' % (self.__guiParameters.image, self._mapboxCtrl.surveyManager.getMapId()) else: if self.__guiParameters.useLinkedParams: sourceQuestionId = self.getLinkedQuestionId() if sourceQuestionId: choice = first( self._mapboxCtrl.surveyManager.getSelectedAnswers( sourceQuestionId)) return '%s_%s' % (self.__guiParameters.image, replaceHyphenToUnderscore(choice)) return self.__guiParameters.image if self.__guiParameters is not None else ''
def find(self): foundTip = self._findRandomTip() if foundTip is not None: foundTip.markWatched() tipData = foundTip.getData() geometryName = replaceHyphenToUnderscore( self._arenaVisitor.getArenaType().geometryName) geomertyIconResId = _tryGetTipIconRes('_'.join( (foundTip.getTipId(), geometryName))) if geomertyIconResId != R.invalid(): tipData = _TipData(tipData.status, tipData.body, geomertyIconResId) return tipData else: return _TipData(R.invalid(), R.invalid(), R.invalid())
def _updateMembers(self): platoonCtrl = self.__platoonCtrl slots = platoonCtrl.getPlatoonSlotsData() searching = platoonCtrl.isInSearch() isWTREnabled = self._getWTRStatus() accID = BigWorld.player().id estimatedTime = self.__getEstimatedTimeInQueue() with self.viewModel.transaction() as model: slotModelArray = model.getSlots() slotModelArray.clear() slotCount = 0 for it in slots: playerData = it.get('player', {}) slot = SlotModel() slot.setIsEmpty(not bool(playerData)) if playerData: slot.player.commonData.setName(playerData.get('userName', '')) slot.player.commonData.setColor('#DE1E7E') slot.player.setIsReady(playerData.get('readyState', False)) slot.player.setAccID(str(playerData.get('dbID', None))) slot.player.setIsCommander(playerData.get('isCommander', False)) slot.player.setIsCurrentUser(accID == playerData.get('accID', None)) slot.player.commonData.setClanTag(playerData.get('clanAbbrev', '')) slot.player.setIsPrem(it.get('hasPremiumAccount', False)) slot.player.commonData.setRating(playerData.get('accountWTR', '') if isWTREnabled else '') badgeIconPath = playerData.get('badgeVisualVO', {}).get('icon', '') slot.player.commonData.setBadgeID(Badge.getBadgeIDFromIconPath(badgeIconPath)) playerStatus = it.get('playerStatus', PLAYER_GUI_STATUS.NORMAL) slot.setIsInBattle(playerStatus == PLAYER_GUI_STATUS.BATTLE) slot.setBattleType(self._battleType) if playerStatus == PLAYER_GUI_STATUS.BATTLE: slot.setInfoText(backport.text(R.strings.platoon.members.card.inBattle())) elif playerStatus != PLAYER_GUI_STATUS.READY: slot.setInfoText(backport.text(R.strings.platoon.members.card.notReady())) isAdditionalMsgVisible = it.get('isVisibleAdtMsg', False) if isAdditionalMsgVisible: additionalMsg = it.get('additionalMsg', '') slot.setInfoText(additionalMsg) isOffline = playerData.get('isOffline', False) if isOffline: slot.setInfoText(backport.text(R.strings.platoon.members.card.connectionLost())) colors = playerData.get('colors', []) if len(colors) > 1: slot.player.commonData.setColor('#' + '{0:06X}'.format(colors[1 if isOffline else 0])) tags = playerData.get('tags', []) slot.player.voice.setIsMutedByUser(USER_TAG.MUTED in tags) slot.player.setIsIgnored(USER_TAG.IGNORED in tags) vehicle = it.get('selectedVehicle', {}) if vehicle: vehicleItem = self.__itemsCache.items.getItemByCD(vehicle.get('intCD', 0)) slot.player.vehicle.setIsPremium(self._getIsVehiclePremium(vehicleItem)) slot.player.vehicle.setName(vehicleItem.shortUserName) slot.player.vehicle.setTechName(replaceHyphenToUnderscore(removeNationFromTechName(vehicleItem.name))) slot.player.vehicle.setTier(vehicleItem.level if self._SHOW_VEHICLE_TIER else 0) slot.player.vehicle.setType(vehicleItem.type) slot.player.vehicle.setNation(vehicleItem.nationName) else: slot.setIsSearching(searching) slot.setInfoText(backport.text(R.strings.platoon.members.card.empty())) slot.setEstimatedTime(estimatedTime) slotLabelHtml = it.get('slotLabel', '') if slotLabelHtml: self.__convertSlotLabelData(slot.getSlotLabelElements(), slotLabelHtml) slot.setSlotId(slotCount) slotCount += 1 slotModelArray.addViewModel(slot) slotModelArray.invalidate() self._updateButtons() self._updateHeader() return
def _convert(self, record, reusable): geometryName = replaceHyphenToUnderscore( reusable.common.arenaType.getGeometryName()) return backport.text(R.strings.arenas.num(geometryName).name())
def _packBlocks(self, vehicleCD=None): items = super(EpicSkillSlotSetupInfoTooltip, self)._packBlocks() vehicle = g_currentVehicle.item vType = replaceHyphenToUnderscore( vehicle.type if vehicle else VEHICLE_CLASS_NAME.HEAVY_TANK) resourceID = R.strings.epic_battle.tooltips.slotSetupInfo items.append( formatters.packImageTextBlockData( title=text_styles.highTitle( backport.text(resourceID.title.dyn(vType)())), desc=text_styles.main(backport.text(resourceID.subtitle())), img=backport.image( R.images.gui.maps.icons.vehicleTypes.large.dyn(vType)()), imgPadding=formatters.packPadding(left=-15, top=-10), txtOffset=56, padding=formatters.packPadding(top=5, bottom=-5))) blocks = [] blocks.append( formatters.packTextBlockData(text=text_styles.middleTitle( backport.text(resourceID.scheme())), padding=formatters.packPadding( left=58, bottom=20))) blocks.append( formatters.packImageBlockData( img=backport.image( R.images.gui.maps.icons.epicBattles.tooltips.battleAbility. dyn(vType)()), align=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER)) items.append( formatters.packBuildUpBlockData( blocks, linkage=BLOCKS_TOOLTIP_TYPES. TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE, padding=formatters.packPadding(bottom=10))) blocks = [] desc = text_styles.neutral( backport.text(resourceID.open.title(), desc=text_styles.main( backport.text(resourceID.open.desc())))) blocks.append( formatters.packImageTextBlockData( desc=desc, img=backport.image(R.images.gui.maps.icons.epicBattles. tooltips.battleAbility.open()), txtAlign=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER, txtOffset=20, imgPadding=formatters.packPadding(top=-10, left=-10), padding=formatters.packPadding(top=4))) desc = text_styles.neutral( backport.text(resourceID.upgrade.title(), desc=text_styles.main( backport.text(resourceID.upgrade.desc())))) blocks.append( formatters.packImageTextBlockData( desc=desc, img=backport.image(R.images.gui.maps.icons.epicBattles. tooltips.battleAbility.upgrade()), txtAlign=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER, txtOffset=20, imgPadding=formatters.packPadding(top=-10, left=-10), padding=formatters.packPadding(top=0))) items.append(formatters.packBuildUpBlockData(blocks)) return items