def _populate(self):
        super(QuestsSeasonAwardsWindow, self)._populate()
        basicAwards = []
        season = g_eventsCache.potapov.getSeasons()[self.__seasonID]
        for tile in season.getTiles().itervalues():
            vehicle = tile.getVehicleBonus()
            if vehicle is not None:
                basicAwards.append(self.__packVehicleAward(vehicle))

        self.as_setDataS({'windowTitle': _ms(QUESTS.SEASONAWARDSWINDOW_TITLE),
         'basicAwardsTitle': text_styles.highTitle(_ms(QUESTS.SEASONAWARDSWINDOW_BASICAWARDS_TITLE)),
         'extraAwardsTitle': text_styles.highTitle(_ms(QUESTS.SEASONAWARDSWINDOW_EXTRAAWARDS_TITLE)),
         'basicAwards': basicAwards,
         'extraAwards': [self.__packFemaleTankmanAward(), self.__packCommendationListsAward()]})
    def __updateTileData(self, vehType, questState, selectItemID = -1):
        self._navInfo.changePQFilters(vehType, questState)
        questsByChains = self.__getQuestsByChains(vehType, questState)
        chains = []
        newSelectedItemID = -1
        for _, chainID, quests in questsByChains:
            completedQuestsCount = len(self.__tile.getQuestsInChainByFilter(chainID, lambda q: q.isCompleted()))
            chain = {'name': text_styles.highTitle(self.__getChainUserName(chainID)),
             'progressText': text_styles.main('%d/%d' % (completedQuestsCount, self.__tile.getChainSize())),
             'tasks': [],
             'enabled': True}
            for quest in sorted(quests, key=operator.methodcaller('getID')):
                stateName, stateIcon = self.__getQuestStatusData(quest)
                questID = quest.getID()
                chain['tasks'].append({'name': text_styles.main(quest.getUserName()),
                 'stateName': stateName,
                 'stateIconPath': stateIcon,
                 'arrowIconPath': RES_ICONS.MAPS_ICONS_LIBRARY_ARROWORANGERIGHTICON8X8,
                 'tooltip': TOOLTIPS.PRIVATEQUESTS_TASKLISTITEM_BODY,
                 'id': questID,
                 'enabled': True})
                if questID == selectItemID:
                    newSelectedItemID = questID

            chains.append(chain)

        self.as_updateTileDataS({'statistics': {'label': text_styles.main(_ms(QUESTS.TILECHAINSVIEW_STATISTICSLABEL_TEXT)),
                        'arrowIconPath': RES_ICONS.MAPS_ICONS_LIBRARY_ARROWORANGERIGHTICON8X8,
                        'tooltip': TOOLTIPS.PRIVATEQUESTS_TASKLISTITEM_BODY},
         'chains': chains})
        if selectItemID == -1:
            self.getChainProgress()
        else:
            self.as_updateChainProgressS(self.__makeChainsProgressData())
        self.as_setSelectedTaskS(newSelectedItemID)
 def __updateStatus(self):
     prefix = i18n.makeString(FORTIFICATIONS.SETTINGSDEFENCEHOURPOPOVER_DEFENCEHOURTITLE)
     prefix = text_styles.highTitle(prefix)
     if self._isFortFrozen():
         toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_FREEZED)
         icon = RES_ICONS.MAPS_ICONS_LIBRARY_ERRORICON_1
         imageSource = icons.makeImageTag(icon, 16, 16, -4, 0)
         currentStatus = text_styles.error(i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_FREEZED))
         currentStatus = imageSource + " " + currentStatus
     elif self.__defencePeriod:
         toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_ACTIVATED)
         currentStatus = "".join(
             (
                 icons.checkmark(),
                 text_styles.success(" " + i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_ACTIVATED)),
             )
         )
     elif self.__checkConditions():
         toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_CANBEACTIVATED)
         currentStatus = "".join(
             (
                 icons.alert(),
                 text_styles.alert(" " + i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_NOTACTIVATED)),
             )
         )
     else:
         toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_CANNOTBEACTIVATED)
         currentStatus = "".join(
             (
                 icons.notAvailable(),
                 text_styles.standard(" " + i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_NOTAVAILABLE)),
             )
         )
     self.as_setMainStatusS(prefix, currentStatus, toolTip)
    def __makeDivisionsData(self, list):
        result = []
        for item in list:
            divisionType = {}
            title = i18n.makeString(item['label'])
            profit = fort_formatters.getDefRes(item['profit'])
            divisionID = item['level']
            divisionType['divisionName'] = highTitle(i18n.makeString(I18N_FORTIFICATIONS.CHOICEDIVISION_DIVISIONFULLNAME, divisionType=title))
            divisionType['divisionProfit'] = standard(i18n.makeString(I18N_FORTIFICATIONS.CHOICEDIVISION_DIVISIONPROFIT, defResCount=profit))
            minVehLvl, maxVehLvl = item['vehLvls']
            if maxVehLvl == minVehLvl:
                vehicleLevel = i18n.makeString(I18N_FORTIFICATIONS.CHOICEDIVISION_VEHICLELEVELSINGLE, level=_getTextLevels(maxVehLvl))
            else:
                vehicleLevel = i18n.makeString(I18N_FORTIFICATIONS.CHOICEDIVISION_VEHICLELEVEL, minLevel=_getTextLevels(minVehLvl), maxLevel=_getTextLevels(maxVehLvl))
            divisionType['vehicleLevel'] = standard(vehicleLevel)
            divisionType['divisionID'] = divisionID
            if divisionID == SORTIE_DIVISION.MIDDLE:
                minCount, maxCount = self.playersRange[0]
            elif divisionID == SORTIE_DIVISION.CHAMPION:
                minCount, maxCount = self.playersRange[1]
            else:
                minCount, maxCount = self.playersRange[2]
            divisionType['playerRange'] = main('{0}-{1}'.format(str(minCount), str(maxCount)))
            result.append(divisionType)

        return result
Example #5
0
 def construct(self):
     item = self.item
     block = []
     title = item.userName
     desc = item.getUserType()
     block.append(formatters.packImageTextBlockData(title=text_styles.highTitle(title), desc=text_styles.main(desc), img=item.icon, imgPadding=formatters.packPadding(left=12), txtGap=-4, txtOffset=100 - self.leftPadding))
     return block
Example #6
0
 def __packStaticHeaderData(self, club):
     profile = self.clubsCtrl.getProfile()
     limits = self.clubsState.getLimits()
     if limits.canDestroyClub(profile, club).success:
         btnDestroyText = _ms(CYBERSPORT.STATICFORMATION_STAFFVIEW_DESTROYSTATIC_TEXT)
     elif limits.canLeaveClub(profile, club).success:
         btnDestroyText = _ms(CYBERSPORT.STATICFORMATION_STAFFVIEW_EXITSTATIC_TEXT)
     else:
         btnDestroyText = ''
     if club.canParticipateBattles():
         lblStaffedText = ''.join([text_styles.success(CYBERSPORT.STATICFORMATION_STAFFVIEW_LBLSTAFFED_TEXT),
          text_styles.standard(' ('),
          text_styles.main(str(len(club.getMembers()))),
          text_styles.standard('/%d)' % CLUB_LIMITS.MAX_MEMBERS)])
     else:
         lblStaffedText = ''
     return {'lblTitleText': text_styles.highTitle(CYBERSPORT.STATICFORMATION_STAFFVIEW_TITLE_TEXT),
      'lblDescriptionText': text_styles.standard(_ms(CYBERSPORT.STATICFORMATION_STAFFVIEW_DESCRIPTION_OTHER_TEXT, clubName=club.getUserName())),
      'btnRecruitmentText': _ms(CYBERSPORT.STATICFORMATION_STAFFVIEW_RECRUITMENTBTN_TEXT, count=len(club.getApplicants(onlyActive=True))),
      'btnRecruitmentTooltip': TOOLTIPS.STATICFORMATIONSTAFFVIEW_RECRUITMENTBTN,
      'btnInviteText': _ms(CYBERSPORT.STATICFORMATION_STAFFVIEW_INVITEBTN_TEXT),
      'btnRemoveText': btnDestroyText,
      'cbOpenedText': _ms(CYBERSPORT.STATICFORMATION_STAFFVIEW_RECRUITMENTOPENEDCHKBX_TEXT),
      'lblStaffedText': lblStaffedText,
      'lblStaffedTooltip': TOOLTIPS.STATICFORMATIONSTAFFVIEW_LBLSTAFFED,
      'tableHeader': _packTableHeaders()}
Example #7
0
 def _packBlocks(self, uid, level):
     description = _ms(FORTIFICATIONS.buildingsprocess_longdescr(uid))
     self._description = _ms(CLANS.SECTION_FORT_BUILDING_TOOLTIP_BODY, level=text_styles.stats(int2roman(level)), description=description)
     self._title = _ms(FORTIFICATIONS.buildings_buildingname(uid))
     items = super(ClanProfileFortBuildingTooltipData, self)._packBlocks()
     items.append(formatters.packTitleDescBlock(text_styles.highTitle(self._title), desc=text_styles.main(self._description) if self._description else None))
     return items
Example #8
0
 def construct(self):
     shell = self.shell
     block = []
     title = shell.userName
     desc = '#item_types:shell/kinds/' + shell.type
     block.append(formatters.packImageTextBlockData(title=text_styles.highTitle(title), desc=text_styles.standard(desc), img=shell.icon, imgPadding=formatters.packPadding(left=7), txtGap=-4, txtOffset=100 - self.leftPadding))
     return block
 def _populate(self):
     super(FortIntelligenceClanFilterPopover, self)._populate()
     headerText = text_styles.highTitle(_ms(FORTIFICATIONS.FORTINTELLIGENCE_CLANFILTERPOPOVER_HEADER))
     clanLevelText = text_styles.standard(_ms(FORTIFICATIONS.FORTINTELLIGENCE_CLANFILTERPOPOVER_CLANLEVEL))
     startHourRangeText = text_styles.standard(_ms(FORTIFICATIONS.FORTINTELLIGENCE_CLANFILTERPOPOVER_STARTHOURRANGE))
     self.as_setDescriptionsTextS(headerText, clanLevelText, startHourRangeText)
     defaultButtonText = _ms(FORTIFICATIONS.FORTINTELLIGENCE_CLANFILTERPOPOVER_DEFAULTBUTTONTEXT)
     applyButtonText = _ms(FORTIFICATIONS.FORTINTELLIGENCE_CLANFILTERPOPOVER_APPLYBUTTONTEXT)
     cancelButtonText = _ms(FORTIFICATIONS.FORTINTELLIGENCE_CLANFILTERPOPOVER_CANCELBUTTONTEXT)
     self.as_setButtonsTextS(defaultButtonText, applyButtonText, cancelButtonText)
     defaultButtonTooltip = TOOLTIPS.FORTIFICATION_FORTINTELLIGENCECLANFILTERPOPOVER_DEFAULT
     applyButtonTooltip = TOOLTIPS.FORTIFICATION_FORTINTELLIGENCECLANFILTERPOPOVER_APPLY
     self.as_setButtonsTooltipsS(defaultButtonTooltip, applyButtonTooltip)
     minClanLevel = FORTIFICATION_ALIASES.CLAN_FILTER_MIN_LEVEL
     maxClanLevel = FORTIFICATION_ALIASES.CLAN_FILTER_MAX_LEVEL
     startDefenseHour = FORTIFICATION_ALIASES.CLAN_FILTER_MIN_HOUR
     startDefenseMin = 0
     cache = self.fortCtrl.getPublicInfoCache()
     if cache:
         minClanLevel, maxClanLevel, startDefenseHour, availability = cache.getDefaultFilterData()
         selectedDate = time.localtime(time_utils.getTimeForLocal(time_utils.getCurrentTimestamp(), max(0, startDefenseHour)))
         startDefenseMin = selectedDate.tm_min
     data = {'minClanLevel': minClanLevel,
      'maxClanLevel': maxClanLevel,
      'startDefenseHour': startDefenseHour,
      'startDefenseMinutes': startDefenseMin,
      'isTwelveHoursFormat': self.app.utilsManager.isTwelveHoursFormat(),
      'isWrongLocalTime': self._isWrongLocalTime(),
      'skipValues': adjustDefenceHoursListToLocal(g_lobbyContext.getServerSettings().getForbiddenFortDefenseHours())}
     defenceStart, _ = self.fortCtrl.getFort().getLocalDefenceHour()
     if defenceStart != NOT_ACTIVATED:
         data['yourOwnClanStartDefenseHour'] = defenceStart
     self.as_setDataS(data)
Example #10
0
    def createInitVO(self):
        isTypeNotCamouflage = self.__filter.currentType != CUSTOMIZATION_TYPE.CAMOUFLAGE
        groupsUserNames = []
        groupsList = []
        for groupData in self.__groupsMap[self.__filter.currentType]:
            groupsUserNames.append(groupData[1])
            groupsList.append(groupData[0])

        if isTypeNotCamouflage:
            groupsSelectIndex = groupsList.index(self.__filter.currentGroup)
        else:
            groupsSelectIndex = 0
        return {'lblTitle': text_styles.highTitle(CUSTOMIZATION.FILTER_POPOVER_TITLE),
         'lblBonusType': text_styles.standard(CUSTOMIZATION.FILTER_POPOVER_BONUSTYPE_TITLE),
         'lblCustomizationType': text_styles.standard(CUSTOMIZATION.FILTER_POPOVER_GROUPS_TITLE),
         'lblPurchaseType': text_styles.standard(CUSTOMIZATION.FILTER_POPOVER_WAYSTOBUY_TITLE),
         'btnDefault': CUSTOMIZATION.FILTER_POPOVER_GETDEFAULTSETTINGS,
         'bonusTypeId': FILTER_TYPE.QUALIFIER,
         'bonusType': self.__getBonusTypeVO(),
         'customizationBonusTypeVisible': isTypeNotCamouflage,
         'customizationTypeId': FILTER_TYPE.GROUP,
         'customizationType': groupsUserNames,
         'customizationTypeSelectedIndex': groupsSelectIndex,
         'customizationTypeVisible': isTypeNotCamouflage,
         'bonusTypeDisableTooltip': makeTooltip(CUSTOMIZATION.TOOLTIP_FILTER_GROUPS_DISABLED_HEADER, CUSTOMIZATION.TOOLTIP_FILTER_GROUPS_DISABLED_BODY),
         'refreshTooltip': makeTooltip(TOOLTIPS.CUSTOMIZATION_FILTERPOPOVER_REFRESH_HEADER, TOOLTIPS.CUSTOMIZATION_FILTERPOPOVER_REFRESH_BODY),
         'purchaseTypeId': FILTER_TYPE.PURCHASE_TYPE,
         'purchaseType': self.__getPurchaseTypeVO(),
         'purchaseTypeSelectedIndex': self.__purchaseTypeList.index(self.__filter.purchaseType)}
Example #11
0
 def _setTipsInfo(self):
     arena = arena_info.getClientArena()
     arenaDP = self._battleCtx.getArenaDP()
     if arena_info.hasResourcePoints():
         bgUrl = RES_ICONS.MAPS_ICONS_EVENTINFOPANEL_FALLOUTRESOURCEPOINTSEVENT
     elif arena_info.hasFlags():
         bgUrl = RES_ICONS.MAPS_ICONS_EVENTINFOPANEL_FALLOUTFLAGSEVENT
     else:
         bgUrl = ''
     if self.__isFallout:
         self.as_setEventInfoPanelDataS({'bgUrl': bgUrl,
          'items': getHelpTextAsDicts(arena_info.getArenaType())})
         self.as_setVisualTipInfoS(self.__makeVisualTipVO(arenaDP, arena))
     elif not self.__isTipInited:
         battlesCount = DEFAULT_BATTLES_COUNT
         if g_lobbyContext.getBattlesCount() is not None:
             battlesCount = g_lobbyContext.getBattlesCount()
         classTag, vLvl, nation = arenaDP.getVehicleInfo().getTypeInfo()
         criteria = tips.getTipsCriteria(arena)
         criteria.setBattleCount(battlesCount)
         criteria.setClassTag(classTag)
         criteria.setLevel(vLvl)
         criteria.setNation(nation)
         tip = criteria.find()
         self.as_setTipTitleS(text_styles.highTitle(tip.status))
         self.as_setTipS(text_styles.playerOnline(tip.body))
         self.as_setVisualTipInfoS(self.__makeVisualTipVO(arenaDP, arena, tip))
         self.__isTipInited = True
     return
 def __setDetails(self, unitID, vo, clubExtraData = None):
     if clubExtraData is not None:
         linkage = CYBER_SPORT_ALIASES.COMMNAD_DETAILS_LINKAGE_JOIN_TO_STATIC_AS_LEGIONARY
         icon = None
         name = clubExtraData.clubName
         clubID = clubExtraData.clubDBID
         division = clubExtraData.divisionID
         description = vo['description']
         self.requestClubEmblem64x64(clubID, clubExtraData.getEmblem64x64(), partial(self.__onClubEmblem64x64Received, unitID))
         buttonLabel = CYBERSPORT.WINDOW_UNITLISTVIEW_ENTERBTN_LEGIONARY
         buttonInfo = CYBERSPORT.WINDOW_UNITLISTVIEW_ENTERTEXT_LEGIONARY
         buttonTooltip = TOOLTIPS.CYBERSPORT_UNITLIST_JOINTOSTATICASLEGIONARY
         if self.clubsState.getStateID() == CLIENT_CLUB_STATE.HAS_CLUB and self.clubsState.getClubDbID() == clubID:
             buttonLabel = CYBERSPORT.WINDOW_UNITLISTVIEW_ENTERBTN_MEMBER
             buttonInfo = CYBERSPORT.WINDOW_UNITLISTVIEW_ENTERTEXT_MEMBER
             buttonTooltip = None
         vo.update({'joinBtnLabel': buttonLabel,
          'joinInfo': text_styles.standard(_ms(buttonInfo)),
          'joinBtnTooltip': buttonTooltip,
          'rallyInfo': {'icon': icon,
                        'name': text_styles.highTitle(name),
                        'profileBtnLabel': CYBERSPORT.RALLYINFO_PROFILEBTN_LABEL,
                        'profileBtnTooltip': TOOLTIPS.RALLYINFO_PROFILEBTN,
                        'description': text_styles.main(description),
                        'ladderIcon': getLadderChevron64x64(division),
                        'id': clubID,
                        'showLadder': True}})
         self.as_setDetailsS({'viewLinkage': linkage,
          'data': vo})
     else:
         linkage = CYBER_SPORT_ALIASES.COMMNAD_DETAILS_LINKAGE_JOIN_TO_NONSTATIC
         self.as_setDetailsS({'viewLinkage': linkage,
          'data': vo})
     self.__updateVehicleLabel()
     return
 def __makeData(self):
     result = {}
     result['listItems'] = self.__makeListData()
     result['availableCount'] = self.__makeMainLabel()
     result['windowTitle'] = FORTIFICATIONS.BUILDINGSPROCESS_WINDOWTITLE
     result['textInfo'] = text_styles.highTitle(i18n.makeString(FORTIFICATIONS.BUILDINGSPROCESS_TEXTINFO))
     self.as_setDataS(result)
Example #14
0
 def _packBlocks(self, paramName):
     extendedData = self.context.getComparator().getExtendedData(paramName)
     self.__paramName = extendedData.name
     title = text_styles.highTitle(MENU.tank_params(paramName))
     if param_formatter.isRelativeParameter(paramName):
         value = param_formatter.colorizedFormatParameter(extendedData, self.context.formatters)
         title += ' ' + text_styles.warning(_ms(TOOLTIPS.VEHICLEPARAMS_TITLE_VALUETEMPLATE, value=value))
     else:
         title += ' ' + text_styles.middleTitle(MEASURE_UNITS.get(paramName, ''))
     desc = _ms(TOOLTIPS.tank_params_desc(paramName))
     possibleBonuses = sorted(extendedData.possibleBonuses, _bonusCmp)
     if possibleBonuses is not None and len(possibleBonuses) > 0:
         desc += ' ' + _ms(TOOLTIPS.VEHICLEPARAMS_POSSIBLEBONUSES_DESC)
         desc += '\n' + self.__createBonusesStr(possibleBonuses)
     blocks = [formatters.packTitleDescBlock(title, text_styles.main(desc))]
     bonuses = sorted(extendedData.bonuses, _bonusCmp)
     if bonuses is not None and len(bonuses) > 0:
         blocks.append(formatters.packTitleDescBlock(text_styles.middleTitle(TOOLTIPS.VEHICLEPARAMS_BONUSES_TITLE), text_styles.main(self.__createBonusesStr(bonuses))))
     penalties = extendedData.penalties
     actualPenalties, nullPenaltyTypes = self.__getNumNotNullPenaltyTankman(penalties)
     penaltiesLen = len(penalties)
     numNotNullPenaltyTankman = len(actualPenalties)
     if numNotNullPenaltyTankman > 0:
         blocks.append(formatters.packTitleDescBlock(text_styles.critical(TOOLTIPS.VEHICLEPARAMS_PENALTIES_TITLE), text_styles.main(self.__createPenaltiesStr(actualPenalties))))
     if penaltiesLen > numNotNullPenaltyTankman:
         blocks.append(formatters.packImageTextBlockData(self.__createTankmanIsOutStr(nullPenaltyTypes), img=RES_ICONS.MAPS_ICONS_LIBRARY_ATTENTIONICONFILLED, imgPadding=formatters.packPadding(top=2, left=3, right=6)))
     return blocks
Example #15
0
 def __setBottomPanelData(self, *args):
     if self.__isCarouselHidden:
         occupiedSlotsNum, totalSlotsNum = self.__controller.slots.getSummary()
         label = text_styles.highTitle(_ms(VEHICLE_CUSTOMIZATION.TYPESWITCHSCREEN_SLOTSUMMARY, occupiedSlotsNum=occupiedSlotsNum, totalSlotsNum=totalSlotsNum))
     else:
         label = text_styles.middleTitle(_ms('#vehicle_customization:typeSwitchScreen/typeName/plural/{0}'.format(self.__controller.slots.currentType)))
     totalGold = self.__controller.cart.totalPriceGold
     totalCredits = self.__controller.cart.totalPriceCredits
     notEnoughGoldTooltip = notEnoughCreditsTooltip = ''
     enoughGold = g_itemsCache.items.stats.gold >= totalGold
     enoughCredits = g_itemsCache.items.stats.credits >= totalCredits
     if not enoughGold:
         diff = text_styles.gold(totalGold - g_itemsCache.items.stats.gold)
         notEnoughGoldTooltip = makeTooltip(_ms(VEHICLE_CUSTOMIZATION.CUSTOMIZATION_NOTENOUGHRESOURCES_HEADER), _ms(VEHICLE_CUSTOMIZATION.CUSTOMIZATION_NOTENOUGHRESOURCES_BODY, count='{0}{1}'.format(diff, icons.gold())))
     if not enoughCredits:
         diff = text_styles.credits(totalCredits - g_itemsCache.items.stats.credits)
         notEnoughCreditsTooltip = makeTooltip(_ms(VEHICLE_CUSTOMIZATION.CUSTOMIZATION_NOTENOUGHRESOURCES_HEADER), _ms(VEHICLE_CUSTOMIZATION.CUSTOMIZATION_NOTENOUGHRESOURCES_BODY, count='{0}{1}'.format(diff, icons.credits())))
     self.as_setBottomPanelHeaderS({'newHeaderText': label,
      'buyBtnLabel': _ms(MENU.CUSTOMIZATION_BUTTONS_APPLY, count=len(self.__controller.cart.items)),
      'pricePanel': {'totalPriceCredits': formatPriceCredits(totalCredits),
                     'totalPriceGold': formatPriceGold(totalGold),
                     'enoughGold': enoughGold,
                     'enoughCredits': enoughCredits,
                     'notEnoughGoldTooltip': notEnoughGoldTooltip,
                     'notEnoughCreditsTooltip': notEnoughCreditsTooltip}})
 def __makeClanInfo(self):
     enemyClanDBID = g_clanCache.clanDBID
     tID = "clanInfo%d" % enemyClanDBID
     self.__imageID = yield g_clanCache.getClanEmblemTextureID(enemyClanDBID, True, tID)
     creationDate = BigWorld.wg_getLongDateFormat(
         self.fortCtrl.getFort().getFortDossier().getGlobalStats().getCreationTime()
     )
     clanTag = g_clanCache.clanTag
     clanTagLocal = i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_CLANINFO_CLANTAG, clanTag=clanTag)
     clanTag = text_styles.highTitle(clanTagLocal)
     creationDateLocalize = i18n.makeString(
         FORTIFICATIONS.SETTINGSWINDOW_CLANINFO_CREATIONDATE, creationDate=creationDate
     )
     creationDate = text_styles.neutral(creationDateLocalize)
     buildingsCount = len(self.fortCtrl.getFort().getBuildingsCompleted())
     buildingsCount = text_styles.neutral(buildingsCount)
     buildingsCountLocalize = i18n.makeString(
         FORTIFICATIONS.SETTINGSWINDOW_CLANINFO_BUILDINGSCOUNT, buildingsCount=str(buildingsCount)
     )
     buildingsCountLocalize = text_styles.standard(buildingsCountLocalize)
     FortSettingsClanInfoVO = {
         "clanTag": clanTag,
         "clanIcon": self.__imageID,
         "creationDate": creationDate,
         "buildingCount": buildingsCountLocalize,
     }
     self.as_setFortClanInfoS(FortSettingsClanInfoVO)
 def _populate(self):
     super(FittingSelectPopover, self)._populate()
     if self._slotType == 'optionalDevice':
         title = MENU.OPTIONALDEVICEFITS_TITLE
         rendererName = FITTING_TYPES.OPTIONAL_DEVICE_FITTING_ITEM_RENDERER
         rendererDataClass = FITTING_TYPES.OPTIONAL_DEVICE_RENDERER_DATA_CLASS_NAME
         width = FITTING_TYPES.LARGE_POPOVER_WIDTH
     else:
         title = _ms(MENU.MODULEFITS_TITLE, moduleName=getTypeInfoByName(self._slotType)['userString'], vehicleName=self.__vehicle.userName)
         rendererDataClass = FITTING_TYPES.MODULE_FITTING_RENDERER_DATA_CLASS_NAME
         if self._slotType in ('vehicleChassis', 'vehicleEngine'):
             rendererName = FITTING_TYPES.ENGINE_CHASSIS_FITTING_ITEM_RENDERER
             width = FITTING_TYPES.MEDUIM_POPOVER_WIDTH
         elif self._slotType == 'vehicleRadio':
             rendererName = FITTING_TYPES.RADIO_FITTING_ITEM_RENDERER
             width = FITTING_TYPES.SHORT_POPOVER_WIDTH
         else:
             rendererName = FITTING_TYPES.GUN_TURRET_FITTING_ITEM_RENDERER
             width = FITTING_TYPES.LARGE_POPOVER_WIDTH
     self.as_updateS({'title': text_styles.highTitle(title),
      'rendererName': rendererName,
      'rendererDataClass': rendererDataClass,
      'selectedIndex': self.__logicProvider.getSelectedIdx(),
      'availableDevices': self.__logicProvider.getDevices(),
      'minAvailableHeight': FITTING_TYPES.HANGAR_POPOVER_MIN_AVAILABLE_HEIGHT,
      'width': width})
 def __makeGlobalMapBlock(self, globalMapStats, ratings):
     hasGlobalMap = globalMapStats.hasGlobalMap()
     if hasGlobalMap:
         notActual = ratings.getGlobalMapBattlesFor28Days() <= 0
         stats = [{'local': 'rageLevel10',
           'value': formatField(getter=ratings.getGlobalMapEloRating10, formatter=BigWorld.wg_getIntegralFormat),
           'timeExpired': notActual,
           'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_ELO_RAGE_10_BODY},
          {'local': 'rageLevel8',
           'value': formatField(getter=ratings.getGlobalMapEloRating8, formatter=BigWorld.wg_getIntegralFormat),
           'timeExpired': notActual,
           'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_ELO_RAGE_8_BODY},
          {'local': 'rageLevel6',
           'value': formatField(getter=ratings.getGlobalMapEloRating6, formatter=BigWorld.wg_getIntegralFormat),
           'timeExpired': notActual,
           'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_ELO_RAGE_6_BODY},
          {'local': 'battlesCount',
           'value': formatField(getter=ratings.getGlobalMapBattlesFor28Days, formatter=BigWorld.wg_getIntegralFormat),
           'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_BATTLES_COUNT_BODY},
          {'local': 'provinces',
           'value': formatField(getter=globalMapStats.getCurrentProvincesCount, formatter=BigWorld.wg_getIntegralFormat),
           'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_PROVINCE_BODY}]
         statsBlock = self.__makeStatsBlock(stats)
         emptyLbl = ''
     else:
         statsBlock = ()
         if isValueAvailable(globalMapStats.hasGlobalMap):
             emptyLbl = text_styles.standard(CLANS.CLANPROFILE_SUMMARYVIEW_BLOCKLBL_EMPTYGLOBALMAP)
         else:
             emptyLbl = '%s %s' % (icons.alert(), text_styles.standard(CLANS.CLANPROFILE_SUMMARYVIEW_NODATA))
     return {'isShowHeader': True,
      'header': text_styles.highTitle(CLANS.CLANPROFILE_MAINWINDOWTAB_GLOBALMAP),
      'statBlocks': statsBlock,
      'emptyLbl': emptyLbl,
      'isActivated': hasGlobalMap}
 def setProxy(self, proxy, clanDossier):
     proxy.showWaiting()
     provinces = yield clanDossier.requestProvinces()
     isMyClan = clanDossier.isMyClan()
     hasProvinces = len(provinces) > 0
     if self.isDisposed():
         return
     headers = self._prepareHeaders(clanDossier.isMyClan(), hasProvinces)
     if isMyClan:
         listItemRendererLinkage = CLANS_ALIASES.CLAN_PROFILE_SELF_PROVINCE_RENDERER
     else:
         listItemRendererLinkage = CLANS_ALIASES.CLAN_PROFILE_PROVINCE_RENDERER
     data = {'rendererLinkage': listItemRendererLinkage,
      'headers': headers,
      'isListVisible': hasProvinces,
      'additionalText': text_styles.standard(_ms(CLANS.GLOBALMAPVIEW_TOTALINCOME, icon=icons.gold(), value=text_styles.gold(BigWorld.wg_getIntegralFormat(sum(map(operator.methodcaller('getRevenue'), provinces)))))),
      'isAdditionalTextVisible': hasProvinces and isMyClan,
      'noDataText': text_styles.highTitle(_ms(CLANS.GLOBALMAPVIEW_NOPROVINCE)),
      'isNoDataTextVisible': not hasProvinces}
     if hasProvinces:
         data['defaultSortField'] = _SORT_IDS.PROVINCE
         data['defaultSortDirection'] = 'ascending'
     self.as_setDataS(data)
     self.__provincesDP = _ClanProfileProvinceDataProvider(isMyClan)
     self.__provincesDP.setFlashObject(self.as_getDPS())
     self.__provincesDP.buildList(provinces)
     proxy.hideWaiting()
    def __createInitialVO(self):
        isTypeNotCamouflage = self.__filter.currentType != CUSTOMIZATION_TYPE.CAMOUFLAGE
        groupsUserNames = []
        for _, groupName in self.__groupsMap[self.__filter.currentType]:
            groupsUserNames.append(groupName)

        updateVO = self.__createUpdateVO()
        return {'lblTitle': text_styles.highTitle(VEHICLE_CUSTOMIZATION.FILTER_POPOVER_TITLE),
         'lblBonusType': text_styles.standard(VEHICLE_CUSTOMIZATION.FILTER_POPOVER_BONUSTYPE_TITLE),
         'lblCustomizationType': text_styles.standard(VEHICLE_CUSTOMIZATION.FILTER_POPOVER_GROUPS_TITLE),
         'lblPurchaseType': text_styles.standard(VEHICLE_CUSTOMIZATION.FILTER_POPOVER_WAYSTOBUY_TITLE),
         'btnDefault': VEHICLE_CUSTOMIZATION.FILTER_POPOVER_GETDEFAULTSETTINGS,
         'bonusTypeId': FILTER_TYPE.QUALIFIER,
         'bonusType': _getBonusTypeVO(self.__filter.selectedBonuses),
         'customizationBonusTypeVisible': isTypeNotCamouflage,
         'enableGroupFilter': updateVO['enableGroupFilter'],
         'customizationTypeId': FILTER_TYPE.GROUP,
         'customizationType': groupsUserNames,
         'customizationTypeSelectedIndex': updateVO['groupsSelectIndex'],
         'customizationTypeVisible': isTypeNotCamouflage,
         'bonusTypeDisableTooltip': makeTooltip(VEHICLE_CUSTOMIZATION.TOOLTIP_FILTER_GROUPS_DISABLED_HEADER, VEHICLE_CUSTOMIZATION.TOOLTIP_FILTER_GROUPS_DISABLED_BODY),
         'refreshTooltip': makeTooltip(VEHICLE_CUSTOMIZATION.CUSTOMIZATION_FILTERPOPOVER_REFRESH_HEADER, VEHICLE_CUSTOMIZATION.CUSTOMIZATION_FILTERPOPOVER_REFRESH_BODY),
         'purchaseTypeId': FILTER_TYPE.PURCHASE_TYPE,
         'purchaseType': _getPurchaseTypeVO(),
         'purchaseTypeSelectedIndex': PURCHASE_TYPE.ALL.index(self.__filter.purchaseType)}
 def __createTexts(self):
     self.__textsCreated = True
     return {
         'windowLbl':
         FORTIFICATIONS.PERIODDEFENCEWINDOW_HEADERLBL,
         'headerLbl':
         text_styles.highTitle(FORTIFICATIONS.PERIODDEFENCEWINDOW_READY),
         'peripheryLbl':
         text_styles.neutral(FORTIFICATIONS.PERIODDEFENCEWINDOW_PERIPHERY),
         'peripheryDescr':
         text_styles.standard(
             FORTIFICATIONS.PERIODDEFENCEWINDOW_PERIPHERY_DESCRIPTION),
         'hourDefenceLbl':
         text_styles.neutral(
             FORTIFICATIONS.PERIODDEFENCEWINDOW_HOURDEFENCE),
         'hourDefenceDescr':
         text_styles.standard(
             FORTIFICATIONS.PERIODDEFENCEWINDOW_HOURDEFENCE_DESCRIPTION),
         'holidayLbl':
         text_styles.neutral(FORTIFICATIONS.PERIODDEFENCEWINDOW_HOLIDAY),
         'holidayDescr':
         text_styles.standard(
             FORTIFICATIONS.PERIODDEFENCEWINDOW_HOLIDAY_DESCRIPTION),
         'acceptBtn':
         FORTIFICATIONS.PERIODDEFENCEWINDOW_BTN_ACTIVATE,
         'cancelBtn':
         FORTIFICATIONS.PERIODDEFENCEWINDOW_BTN_NOTNOW
     }
Example #22
0
 def __updateNextBattleCount(self):
     cache = self.fortCtrl.getFortBattlesCache()
     if cache is None:
         return
     currentBattlesCount = BigWorld.wg_getNiceNumberFormat(len(self._searchDP.collection))
     result = text_styles.highTitle(currentBattlesCount)
     self.as_upateClanBattlesCountS(result)
 def _populate(self):
     super(FittingSelectPopover, self)._populate()
     if self._slotType == "optionalDevice":
         title = MENU.OPTIONALDEVICEFITS_TITLE
         rendererName = FITTING_TYPES.OPTIONAL_DEVICE_FITTING_ITEM_RENDERER
         rendererDataClass = FITTING_TYPES.OPTIONAL_DEVICE_RENDERER_DATA_CLASS_NAME
         width = FITTING_TYPES.LARGE_POPOVER_WIDTH
     else:
         title = _ms(
             MENU.MODULEFITS_TITLE,
             moduleName=getTypeInfoByName(self._slotType)["userString"],
             vehicleName=self.__vehicle.userName,
         )
         rendererDataClass = FITTING_TYPES.MODULE_FITTING_RENDERER_DATA_CLASS_NAME
         if self._slotType in ("vehicleChassis", "vehicleEngine"):
             rendererName = FITTING_TYPES.ENGINE_CHASSIS_FITTING_ITEM_RENDERER
             width = FITTING_TYPES.MEDUIM_POPOVER_WIDTH
         elif self._slotType == "vehicleRadio":
             rendererName = FITTING_TYPES.RADIO_FITTING_ITEM_RENDERER
             width = FITTING_TYPES.SHORT_POPOVER_WIDTH
         else:
             rendererName = FITTING_TYPES.GUN_TURRET_FITTING_ITEM_RENDERER
             width = FITTING_TYPES.LARGE_POPOVER_WIDTH
     self.as_updateS(
         {
             "title": text_styles.highTitle(title),
             "rendererName": rendererName,
             "rendererDataClass": rendererDataClass,
             "selectedIndex": self.__logicProvider.getSelectedIdx(),
             "availableDevices": self.__logicProvider.getDevices(),
             "width": width,
         }
     )
 def setProxy(self, proxy, clanDossier):
     proxy.showWaiting()
     provinces = yield clanDossier.requestProvinces()
     showTreasury = clanDossier.isMyClan() and g_clanCtrl.getLimits().canSeeTreasury(clanDossier).success
     hasProvinces = len(provinces) > 0
     if self.isDisposed():
         return
     headers = self._prepareHeaders(showTreasury, hasProvinces)
     if showTreasury:
         listItemRendererLinkage = CLANS_ALIASES.CLAN_PROFILE_SELF_PROVINCE_RENDERER
     else:
         listItemRendererLinkage = CLANS_ALIASES.CLAN_PROFILE_PROVINCE_RENDERER
     data = {'rendererLinkage': listItemRendererLinkage,
      'headers': headers,
      'isListVisible': hasProvinces,
      'noDataText': text_styles.highTitle(_ms(CLANS.GLOBALMAPVIEW_NOPROVINCE)),
      'isNoDataTextVisible': not hasProvinces}
     if hasProvinces:
         data['defaultSortField'] = _SORT_IDS.PROVINCE
         data['defaultSortDirection'] = 'ascending'
     self.as_setDataS(data)
     self.__provincesDP = _ClanProfileProvinceDataProvider(showTreasury)
     self.__provincesDP.setFlashObject(self.as_getDPS())
     self.__provincesDP.buildList(provinces)
     self.as_setAdditionalTextS(hasProvinces and showTreasury, text_styles.standard(_ms(CLANS.GLOBALMAPVIEW_TOTALINCOME, icon=icons.gold(), value=text_styles.gold(BigWorld.wg_getIntegralFormat(self.__provincesDP.getCommonRevenue())))))
     proxy.hideWaiting()
Example #25
0
    def __packLadderData(self, clubs):
        formations = []
        club = self.clubsCtrl.getClub(self._clubDbID)
        ladderInfo = club.getLadderInfo()
        if club and ladderInfo.isInLadder():
            for clubInfo in sorted(clubs, key=lambda club: club.ladderRank):
                self.requestClubEmblem32x32(clubInfo.clubDBID, clubInfo.clubEmblemUrl)
                battlesCount = BigWorld.wg_getNiceNumberFormat(clubInfo.battlesCount)
                winsPercent = 0
                if clubInfo.battlesCount > 0:
                    winsPercent = clubInfo.winsCount / float(clubInfo.battlesCount) * 100
                winsPercentStr = BigWorld.wg_getNiceNumberFormat(winsPercent) + '%'
                clubName = clubInfo.clubName
                ladderPoints = clubInfo.getRatingPoints(ladderInfo.getDivision())
                emblem = self._clubEmblems.get(clubInfo.clubDBID, None)
                texturePath = self.getMemoryTexturePath(emblem) if emblem else ''
                formations.append({'formationId': str(clubInfo.clubDBID),
                 'showProfileBtnText': _ms(CYBERSPORT.STATICFORMATION_LADDERVIEW_SHOWFORMATIONPROFILEBTN_TEXT),
                 'showProfileBtnTooltip': TOOLTIPS.STATICFORMATIONLADDERVIEW_SHOWFORMATIONPROFILEBTN,
                 'emblemIconPath': texturePath,
                 'place': text_styles.standard(str(clubInfo.ladderRank)),
                 'placeSortValue': clubInfo.ladderRank,
                 'points': text_styles.middleTitle(str(ladderPoints)),
                 'pointsSortValue': ladderPoints,
                 'formationName': text_styles.highTitle(clubName),
                 'formationNameSortValue': clubName,
                 'battlesCount': text_styles.stats(battlesCount),
                 'battlesCountSortValue': clubInfo.battlesCount,
                 'winPercent': text_styles.stats(winsPercentStr),
                 'winPercentSortValue': winsPercent,
                 'isCurrentTeam': self._clubDbID == clubInfo.clubDBID})

        return {'formations': formations}
Example #26
0
 def _setTipsInfo(self):
     arena = getClientArena()
     isFallout = arena.guiType == constants.ARENA_GUI_TYPE.EVENT_BATTLES
     arenaDP = self._battleCtx.getArenaDP()
     if hasResourcePoints():
         bgUrl = RES_ICONS.MAPS_ICONS_EVENTINFOPANEL_FALLOUTRESOURCEPOINTSEVENT
     elif hasFlags():
         bgUrl = RES_ICONS.MAPS_ICONS_EVENTINFOPANEL_FALLOUTFLAGSEVENT
     else:
         bgUrl = ''
     if isFallout:
         self.as_setEventInfoPanelDataS({'bgUrl': bgUrl,
          'items': getHelpTextAsDicts(arena.arenaType)})
     elif not self.__isTipInited:
         battlesCount = DEFAULT_BATTLES_COUNT
         if g_lobbyContext.getBattlesCount() is not None:
             battlesCount = g_lobbyContext.getBattlesCount()
         vType, vLvl, nation = arenaDP.getVehicleInfo().getTypeInfo()
         tipsIterator = tips.getTipsIterator(arena.guiType, battlesCount, vType, nation, vLvl)
         statusStr, tipStr = ('', '')
         if tipsIterator is not None:
             statusStr, tipStr = next(tipsIterator)
         else:
             LOG_ERROR('No required tips found')
         self.as_setTipTitleS(text_styles.highTitle(statusStr))
         self.as_setTipS(text_styles.playerOnline(tipStr))
         self.__isTipInited = True
     return
 def _updateControlsState(self):
     isNotInCooldown = not self._cooldown.isInCooldown()
     foundClans = clans_fmts.formatDataToString(self.__clanFinder.getTotalCount())
     self.as_setStateDataS({'foundClans': text_styles.highTitle(_ms(CLANS.SEARCH_CLANSLIST if self.__clanFinder.isRecommended() else CLANS.SEARCH_FOUNDCLANS, value=foundClans)),
      'nextBtnEnabled': self.__clanFinder.canMoveRight() and isNotInCooldown,
      'previousBtnEnabled': self.__clanFinder.canMoveLeft() and isNotInCooldown,
      'searchBtnEnabled': isNotInCooldown,
      'searchInputEnabled': isNotInCooldown})
Example #28
0
 def __getActiveText(self):
     return text_styles.highTitle(
         _ms(
             MENU.BOOSTERSWINDOW_ACTIVEBOOSTERS,
             activeNo=self.__tabsContainer.getActiveBoostersCount(),
             allNo=MAX_ACTIVE_BOOSTERS_COUNT,
         )
     )
 def __initData(self):
     ms = i18n.makeString
     igrIcon = RES_ICONS.MAPS_ICONS_LIBRARY_PREMIUM_SMALL
     icon = icons.makeImageTag(igrIcon, 34, 16, -4)
     self.as_setWindowTitleS(ms(MENU.PROMOPREMIUMIGRWINDOW_WINDOWTITLE))
     self.as_setTitleS(text_styles.highTitle(ms(MENU.PROMOPREMIUMIGRWINDOW_TITLE)))
     self.as_setTextS(text_styles.standard(ms(MENU.PROMOPREMIUMIGRWINDOW_TEXT, iconIgr=icon)))
     self.as_setApplyButtonLabelS(ms(MENU.PROMOPREMIUMIGRWINDOW_APPLYBUTTONLABEL))
Example #30
0
 def __setBuyingPanelInitData(self):
     self.as_setBuyingPanelInitDataS({'totalPriceLabel': text_styles.highTitle(MENU.CUSTOMIZATION_LABELS_TOTALPRICE),
      'buyBtnLabel': MENU.CUSTOMIZATION_BUTTONS_APPLY,
      'buyingListIcon': RES_ICONS.MAPS_ICONS_LIBRARY_ICON_BUTTON_LIST,
      'goldIcon': RES_ICONS.MAPS_ICONS_LIBRARY_GOLDICON_1,
      'creditsIcon': RES_ICONS.MAPS_ICONS_LIBRARY_CREDITSICON_1,
      'purchasesBtnTooltip': makeTooltip(TOOLTIPS.CUSTOMIZATION_PURCHASESPOPOVERBTN_HEADER, TOOLTIPS.CUSTOMIZATION_PURCHASESPOPOVERBTN_BODY),
      'buyingPanelVO': {'totalPriceCredits': text_styles.creditsTextBig(g_customizationController.carousel.slots.cart.totalPriceCredits),
                        'totalPriceGold': text_styles.goldTextBig(g_customizationController.carousel.slots.cart.totalPriceGold)}})
Example #31
0
 def _packTitleBlock():
     return formatters.packImageTextBlockData(title=text_styles.highTitle(VEH_COMPARE.VEHCONF_TOOLTIPS_SKILLS_HEADER), padding={'top': 20})
Example #32
0
 def getHeader(self):
     return text_styles.highTitle(
         i18n.makeString(MENU.AWARDWINDOW_QUESTS_TOKENS_HEADER,
                         count=self.__tokenCount))
Example #33
0
 def __packRandomFragmentBlocks(self):
     self._items.append(formatters.packImageTextBlockData(title=text_styles.highTitle(TOOLTIPS.BLUEPRINT_BLUEPRINTFRAGMENTTOOLTIP_RANDOM_HEADER), img=RES_ICONS.getBlueprintFragment('small', 'random'), imgPadding=formatters.packPadding(top=3), txtPadding=formatters.packPadding(left=21)))
     descriptionBlock = formatters.packImageTextBlockData(desc=text_styles.main(TOOLTIPS.BLUEPRINT_BLUEPRINTFRAGMENTTOOLTIP_RANDOM_DESCRIPTION), img=RES_ICONS.MAPS_ICONS_BLUEPRINTS_PLUS, imgPadding=formatters.packPadding(top=0, right=5), padding=formatters.packPadding(left=40))
     self._items.append(formatters.packBuildUpBlockData(blocks=[descriptionBlock, self.__packDiscountBlock()], gap=5, linkage=BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE))
 def __createUpdateVO(self):
     _filterBtns = [{
         'value':
         backport.image(R.images.gui.maps.icons.buttons.non_historical()),
         'tooltip':
         makeTooltip(
             backport.text(R.strings.vehicle_customization.carousel.filter.
                           nonHistoricalBtn.header()),
             backport.text(R.strings.vehicle_customization.carousel.filter.
                           nonHistoricalBtn.body())),
         'selected':
         self._nonHistoricToggleEnabled
     }, {
         'value':
         backport.image(R.images.gui.maps.icons.buttons.hist_small()),
         'tooltip':
         makeTooltip(
             backport.text(R.strings.vehicle_customization.carousel.filter.
                           historicalBtn.header()),
             backport.text(R.strings.vehicle_customization.carousel.filter.
                           historicalBtn.body())),
         'selected':
         self._historicToggleEnabled
     }, {
         'value':
         backport.image(
             R.images.gui.maps.icons.customization.storage_icon()),
         'tooltip':
         makeTooltip(
             backport.text(R.strings.vehicle_customization.carousel.filter.
                           storageBtn.header()),
             backport.text(R.strings.vehicle_customization.carousel.filter.
                           storageBtn.body())),
         'selected':
         self._purchasedToggleEnabled
     }, {
         'value':
         backport.image(R.images.gui.maps.icons.buttons.equipped_icon()),
         'tooltip':
         makeTooltip(
             backport.text(R.strings.vehicle_customization.carousel.filter.
                           equippedBtn.header()),
             backport.text(R.strings.vehicle_customization.carousel.filter.
                           equippedBtn.body())),
         'selected':
         self._appliedToggleEnabled
     }]
     self.__filterChangeHandlers = [
         self.setShowOnlyNonHistoric, self.setShowOnlyHistoric,
         self.setShowOnlyAcquired, self.setShowOnlyApplied
     ]
     if self.__ctx.isProgressiveItemsExist:
         progressionDecalsBtnTooltip = makeTooltip(
             backport.text(R.strings.vehicle_customization.customization.
                           filterPopover.progressionDecalsBtn.header()),
             backport.text(R.strings.vehicle_customization.customization.
                           filterPopover.progressionDecalsBtn.body()))
         _filterBtns.append({
             'value':
             backport.image(R.images.gui.maps.icons.buttons.progression()),
             'tooltip':
             progressionDecalsBtnTooltip,
             'selected':
             self._showOnlyProgressionDecalsEnabled
         })
         self.__filterChangeHandlers.append(
             self.setShowOnlyProgressionDecals)
     if self.__ctx.modeId == CustomizationModes.STYLED:
         editableStylesBtnTooltip = makeTooltip(
             backport.text(R.strings.vehicle_customization.customization.
                           filterPopover.editableStylesBtn.header()),
             backport.text(R.strings.vehicle_customization.customization.
                           filterPopover.editableStylesBtn.body()))
         _filterBtns.append({
             'value':
             backport.image(
                 R.images.gui.maps.icons.buttons.editable_small()),
             'tooltip':
             editableStylesBtnTooltip,
             'selected':
             self._showOnlyEditableStylesEnabled
         })
         self.__filterChangeHandlers.append(self.setShowOnlyEditableStyles)
         nonEditableStylesBtnTooltip = makeTooltip(
             backport.text(R.strings.vehicle_customization.customization.
                           filterPopover.nonEditableStylesBtn.header()),
             backport.text(R.strings.vehicle_customization.customization.
                           filterPopover.nonEditableStylesBtn.body()))
         _filterBtns.append({
             'value':
             backport.image(R.images.gui.maps.icons.buttons.non_editable()),
             'tooltip':
             nonEditableStylesBtnTooltip,
             'selected':
             self._showOnlyNonEditableStylesEnabled
         })
         self.__filterChangeHandlers.append(
             self.setShowOnlyNonEditableStyles)
     _formsBtns = [{
         'value':
         self.PROJECTION_DECAL_IMAGE_FORM_TAG[formType],
         'selected':
         value,
         'tooltip':
         makeTooltip(
             '{} {}'.format(
                 backport.text(R.strings.vehicle_customization.popover.
                               tooltip.form()),
                 PROJECTION_DECAL_TEXT_FORM_TAG[formType]),
             backport.text(
                 R.strings.vehicle_customization.popover.tooltip.form.body(
                 ),
                 value=backport.text(
                     R.strings.vehicle_customization.form.dyn(formType)())))
     } for formType, value in self._formfactorTypes.iteritems()]
     formsBtnsLbl = ''
     if self._formfactorTypes:
         formsBtnsLbl = text_styles.standard(
             backport.text(R.strings.vehicle_customization.filter.popover.
                           formfilters.title()))
     additionalCheckBoxLabel = backport.text(
         R.strings.vehicle_customization.filter.popover.showonlyfilters.
         onAnotherVeh())
     additionalCheckBoxTooltip = makeTooltip(
         backport.text(R.strings.vehicle_customization.customization.
                       filterPopover.additionalCheckBox.header()),
         backport.text(R.strings.vehicle_customization.customization.
                       filterPopover.additionalCheckBox.body()))
     return FiltersPopoverVO(
         lblTitle=text_styles.highTitle(
             backport.text(
                 R.strings.vehicle_customization.filter.popover.title())),
         lblGroups=text_styles.standard(
             backport.text(R.strings.vehicle_customization.filter.popover.
                           groups.title())),
         lblShowOnlyFilters=text_styles.standard(
             backport.text(R.strings.vehicle_customization.filter.popover.
                           showonlyfilters.title())),
         lblAdditional=text_styles.standard(
             backport.text(R.strings.vehicle_customization.filter.popover.
                           showonlyfilters.additional())),
         additionalCheckBoxData={
             'label': additionalCheckBoxLabel,
             'tooltip': additionalCheckBoxTooltip,
             'selected': self._hideOnAnotherVehEnabled
         },
         btnDefault=backport.text(R.strings.vehicle_customization.filter.
                                  popover.getDefaultSettings()),
         groupType=self._groups if self._groupCount > 1 else None,
         btnDefaultTooltip=makeTooltip(
             backport.text(R.strings.vehicle_customization.customization.
                           filterPopover.refresh.header()),
             backport.text(R.strings.vehicle_customization.customization.
                           filterPopover.refresh.body())),
         groupTypeSelectedIndex=self._selectedGroup,
         filterBtns=_filterBtns,
         additionalEnabled=self.__ctx.isItemsOnAnotherVeh,
         formsBtnsLbl=formsBtnsLbl,
         formsBtns=_formsBtns)
 def __makeGlobalMapBlock(self, globalMapStats, ratings):
     hasGlobalMap = globalMapStats.hasGlobalMap()
     if hasGlobalMap:
         notActual = ratings.getGlobalMapBattlesFor28Days() <= 0
         stats = [{
             'local':
             'rageLevel10',
             'value':
             formatField(getter=ratings.getGlobalMapEloRating10,
                         formatter=backport.getIntegralFormat),
             'timeExpired':
             notActual,
             'tooltip':
             CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_ELO_RAGE_10_BODY
         }, {
             'local':
             'rageLevel8',
             'value':
             formatField(getter=ratings.getGlobalMapEloRating8,
                         formatter=backport.getIntegralFormat),
             'timeExpired':
             notActual,
             'tooltip':
             CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_ELO_RAGE_8_BODY
         }, {
             'local':
             'rageLevel6',
             'value':
             formatField(getter=ratings.getGlobalMapEloRating6,
                         formatter=backport.getIntegralFormat),
             'timeExpired':
             notActual,
             'tooltip':
             CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_ELO_RAGE_6_BODY
         }, {
             'local':
             'battlesCount',
             'value':
             formatField(getter=ratings.getGlobalMapBattlesFor28Days,
                         formatter=backport.getIntegralFormat),
             'tooltip':
             CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_BATTLES_COUNT_BODY
         }, {
             'local':
             'provinces',
             'value':
             formatField(getter=globalMapStats.getCurrentProvincesCount,
                         formatter=backport.getIntegralFormat),
             'tooltip':
             CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_PROVINCE_BODY
         }]
         statsBlock = self.__makeStatsBlock(stats)
         emptyLbl = ''
     else:
         statsBlock = ()
         if isValueAvailable(globalMapStats.hasGlobalMap):
             emptyLbl = text_styles.standard(
                 CLANS.CLANPROFILE_SUMMARYVIEW_BLOCKLBL_EMPTYGLOBALMAP)
         else:
             emptyLbl = '%s %s' % (
                 icons.alert(),
                 text_styles.standard(CLANS.CLANPROFILE_SUMMARYVIEW_NODATA))
     return {
         'isShowHeader':
         True,
         'header':
         text_styles.highTitle(CLANS.CLANPROFILE_MAINWINDOWTAB_GLOBALMAP),
         'statBlocks':
         statsBlock,
         'emptyLbl':
         emptyLbl,
         'isActivated':
         hasGlobalMap
     }
Example #36
0
 def __packIntelFragmentBlocks(self):
     self._items.append(formatters.packImageTextBlockData(title=text_styles.highTitle(TOOLTIPS.BLUEPRINT_BLUEPRINTFRAGMENTTOOLTIP_INTELFRAGMENT), img=RES_ICONS.getBlueprintFragment('small', 'intelligence'), imgPadding=formatters.packPadding(top=5), txtPadding=formatters.packPadding(top=5, left=19)))
     descriptionBlock = formatters.packImageTextBlockData(desc=text_styles.main(TOOLTIPS.BLUEPRINT_BLUEPRINTFRAGMENTTOOLTIP_INTELDESCRIPTION), img=RES_ICONS.MAPS_ICONS_BLUEPRINTS_PLUS, imgPadding=formatters.packPadding(top=0, right=5), padding=formatters.packPadding(left=40))
     self._items.append(formatters.packBuildUpBlockData(blocks=[descriptionBlock], linkage=BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE, padding=formatters.packPadding(bottom=-4)))
     fragmentsCount = self.context.getUniversalCount()
     self._items.append(self.__packInStorageBlock(fragmentsCount))
Example #37
0
    def __packLadderData(self, clubs):
        formations = []
        clubsState = self.clubsCtrl.getState()
        if clubsState.getStateID() == CLIENT_CLUB_STATE.HAS_CLUB:
            myClubDbID = clubsState.getClubDbID()
        else:
            myClubDbID = None
        club = self.clubsCtrl.getClub(self._clubDbID)
        ladderInfo = club.getLadderInfo()
        if club and ladderInfo.isInLadder():
            for clubInfo in sorted(clubs, key=lambda club: club.ladderRank):
                self.requestClubEmblem32x32(clubInfo.clubDBID,
                                            clubInfo.clubEmblemUrl)
                battlesCount = BigWorld.wg_getNiceNumberFormat(
                    clubInfo.battlesCount)
                winsPercent = 0
                if clubInfo.battlesCount > 0:
                    winsPercent = clubInfo.winsCount / float(
                        clubInfo.battlesCount) * 100
                winsPercentStr = BigWorld.wg_getNiceNumberFormat(
                    winsPercent) + '%'
                clubName = clubInfo.clubName
                ladderPoints = clubInfo.getRatingPoints(
                    ladderInfo.getDivision())
                emblem = self._clubEmblems.get(clubInfo.clubDBID, None)
                texturePath = self.getMemoryTexturePath(
                    emblem) if emblem else ''
                formations.append({
                    'formationId':
                    clubInfo.clubDBID,
                    'showProfileBtnText':
                    _ms(CYBERSPORT.
                        STATICFORMATION_LADDERVIEW_SHOWFORMATIONPROFILEBTN_TEXT
                        ),
                    'showProfileBtnTooltip':
                    TOOLTIPS.STATICFORMATIONLADDERVIEW_SHOWFORMATIONPROFILEBTN,
                    'emblemIconPath':
                    texturePath,
                    'place':
                    text_styles.standard(str(clubInfo.ladderRank)),
                    'placeSortValue':
                    clubInfo.ladderRank,
                    'points':
                    text_styles.middleTitle(str(ladderPoints)),
                    'pointsSortValue':
                    ladderPoints,
                    'formationName':
                    text_styles.highTitle(clubName),
                    'formationNameSortValue':
                    clubName,
                    'battlesCount':
                    text_styles.stats(battlesCount),
                    'battlesCountSortValue':
                    clubInfo.battlesCount,
                    'winPercent':
                    text_styles.stats(winsPercentStr),
                    'winPercentSortValue':
                    winsPercent,
                    'isCurrentTeam':
                    self._clubDbID == clubInfo.clubDBID,
                    'isMyClub':
                    myClubDbID == clubInfo.clubDBID
                })

        return {'formations': formations}
Example #38
0
 def getHeader(self):
     return text_styles.highTitle(_ms(
         MENU.AWARDWINDOW_QUESTS_MEDALS_HEADER))
Example #39
0
 def __updateStrongholdBlock(self, stats):
     self.as_updateFortBlockS({'isShowHeader': True,
      'header': text_styles.highTitle(CLANS.CLANPROFILE_MAINWINDOWTAB_FORTIFICATION),
      'statBlocks': self.__makeStatsBlock(stats),
      'emptyLbl': '',
      'isActivated': True})
    def __showDismissedTankmen(self, criteria):
        tankmen = self.restore.getDismissedTankmen()
        tankmenList = list()
        for tankman in tankmen:
            if not criteria(tankman):
                continue
            skillsList = []
            for skill in tankman.skills:
                skillsList.append({
                    'tankmanID': tankman.invID,
                    'id': str(tankman.skills.index(skill)),
                    'name': skill.userName,
                    'desc': skill.description,
                    'icon': skill.icon,
                    'level': skill.level,
                    'active': skill.isEnable and skill.isActive
                })

            newSkillsCount, lastNewSkillLvl = tankman.newSkillCount
            if newSkillsCount > 0:
                skillsList.append({
                    'buy': True,
                    'buyCount': newSkillsCount - 1,
                    'tankmanID': tankman.invID,
                    'level': lastNewSkillLvl
                })
            restoreInfo = getTankmenRestoreInfo(tankman)
            actionBtnTooltip = makeTooltip(
                TOOLTIPS.BARRACKS_TANKMEN_RECOVERYBTN_HEADER,
                getRecoveryStatusText(restoreInfo))
            tankmanData = _packTankmanData(tankman)
            tankmanData.update({
                'isRankNameVisible':
                False,
                'recoveryPeriodText':
                _makeRecoveryPeriodText(restoreInfo),
                'actionBtnLabel':
                MENU.BARRACKS_BTNRECOVERY,
                'actionBtnTooltip':
                actionBtnTooltip,
                'skills':
                skillsList,
                'isSkillsVisible':
                True
            })
            tankmenList.append(tankmanData)

        tankmenCountStr = _ms(MENU.BARRACKS_DISMISSEDTANKMENCOUNT,
                              curValue=len(tankmenList),
                              total=len(tankmen))
        placeCount = self.restore.getMaxTankmenBufferLength()
        placeCountStr = _ms(MENU.BARRACKS_RECOVERYCOUNT,
                            total=placeCount,
                            info=icons.info())
        noInfoData = None
        hasNoInfoData = len(tankmenList) == 0
        if hasNoInfoData:
            if not tankmen:
                tankmenRestoreConfig = self.itemsCache.items.shop.tankmenRestoreConfig
                freeDays = tankmenRestoreConfig.freeDuration / time_utils.ONE_DAY
                billableDays = tankmenRestoreConfig.billableDuration / time_utils.ONE_DAY - freeDays
                noInfoData = {
                    'title':
                    text_styles.highTitle(
                        MENU.BARRACKS_NORECOVERYTANKMEN_TITLE),
                    'message':
                    text_styles.main(
                        _ms(MENU.BARRACKS_NORECOVERYTANKMEN_MESSAGE,
                            price=moneyWithIcon(tankmenRestoreConfig.cost),
                            totalDays=freeDays + billableDays,
                            freeDays=freeDays,
                            paidDays=billableDays))
                }
            else:
                noInfoData = {
                    'message':
                    text_styles.main(
                        MENU.BARRACKS_NOFILTEREDRECOVERYTANKMEN_MESSAGE)
                }
        placesCountTooltip = makeTooltip(
            TOOLTIPS.BARRACKS_PLACESCOUNT_DISMISS_HEADER,
            _ms(TOOLTIPS.BARRACKS_PLACESCOUNT_DISMISS_BODY,
                placeCount=placeCount))
        self.as_setTankmenS({
            'tankmenCount':
            text_styles.playerOnline(tankmenCountStr),
            'placesCount':
            text_styles.playerOnline(placeCountStr),
            'placesCountTooltip':
            placesCountTooltip,
            'tankmenData':
            tankmenList,
            'hasNoInfoData':
            hasNoInfoData,
            'noInfoData':
            noInfoData
        })
        return
Example #41
0
def packMoneyAndXpBlocks(tooltipBlocks,
                         btnType,
                         valueBlocks,
                         alternativeData=None,
                         hideActionBlock=False):
    titleBlocks = list()
    alternativeData = alternativeData or {}
    titleBlocks.append(
        packTitleDescBlock(text_styles.highTitle(
            TOOLTIPS.getHeaderBtnTitle(
                alternativeData.get('title') or btnType)),
                           None,
                           padding=packPadding(bottom=15)))
    tooltipBlocks.append(packBuildUpBlockData(titleBlocks))
    if valueBlocks is not None:
        tooltipBlocks.append(
            packBuildUpBlockData(valueBlocks,
                                 linkage=BLOCKS_TOOLTIP_TYPES.
                                 TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE))
    decsBlocks = list()
    descLinkage = BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_LINKAGE
    if btnType == CURRENCIES_CONSTANTS.CRYSTAL:
        descLinkage = BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILD_BLOCK_VIOLET_BIG_LINKAGE
        padding = packPadding(bottom=8)
        decsBlocks.append(
            packTextBlockData(text_styles.middleTitle(
                backport.text(R.strings.tooltips.header.buttons.crystal.
                              descriptionTitle())),
                              padding=padding))
        descVehicle = text_styles.vehicleStatusInfoText(
            backport.text(R.strings.tooltips.header.buttons.crystal.
                          descriptionVehicle()))
        decsBlocks.append(
            packTextBlockData(text_styles.main(
                backport.text(
                    R.strings.tooltips.header.buttons.crystal.description0(),
                    vehicle=descVehicle)),
                              padding=padding))
        decsBlocks.append(
            packTextBlockData(text_styles.main(
                backport.text(
                    R.strings.tooltips.header.buttons.crystal.description1())),
                              padding=packPadding(bottom=20)))
    else:
        decsBlocks.append(
            packTextBlockData(text_styles.main(
                TOOLTIPS.getHeaderBtnDesc(
                    alternativeData.get('btnDesc') or btnType)),
                              padding=packPadding(bottom=15)))
    tooltipBlocks.append(packBuildUpBlockData(decsBlocks, linkage=descLinkage))
    if not hideActionBlock:
        if btnType != CURRENCIES_CONSTANTS.CRYSTAL:
            actionBlocks = list()
            actionBlocks.append(
                packAlignedTextBlockData(
                    text=text_styles.standard(
                        TOOLTIPS.getHeaderBtnClickDesc(
                            alternativeData.get('btnClickDesc') or btnType)),
                    align=alternativeData.get('btnClickDescAlign')
                    or BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER))
            tooltipBlocks.append(packBuildUpBlockData(actionBlocks))
    return tooltipBlocks
Example #42
0
 def getAwardInfo(self):
     return {'title': text_styles.highTitle(_ms(EVENT_BOARDS.BLOCK_AWARD)),
      'label': _ms(EVENT_BOARDS.BUTTON_AWARDS),
      'buttonTooltip': makeTooltip(EVENT_BOARDS.BUTTON_AWARDS, EVENT_BOARDS.BUTTON_AWARDS_TOOLTIP),
      'iconTooltip': makeTooltip(body=EVENT_BOARDS.TOOLTIP_AWARDICON),
      'uiIcon': self._event.getPromoBonuses()}
Example #43
0
 def __packTitleBlock():
     return formatters.packImageTextBlockData(title=text_styles.highTitle(VEH_COMPARE.VEHCONF_TOOLTIPS_CAMOTITLE), padding={'top': -5})
Example #44
0
 def __makeQuestDetailsInfo(self, questID):
     quest = old_events_helpers.getPotapovQuestsCache().getQuests()[questID]
     questInfoData = old_events_helpers.getEventInfoData(quest)
     self._navInfo.selectPotapovQuest(self.__tile.getID(), questID)
     vehMinLevel, vehClasses = quest.getVehMinLevel(
     ), quest.getVehicleClasses()
     if vehMinLevel > 1:
         reqsHeader = text_styles.middleTitle(
             _ms(QUESTS.QUESTTASKDETAILSVIEW_REQUIREMENTS))
         if quest.getQuestBranch() == PQ_BRANCH.REGULAR:
             reqs = _ms(QUESTS.QUESTTASKDETAILSVIEW_REQUIREMENTS_TEXT,
                        level=int2roman(vehMinLevel),
                        vehType=', '.join([
                            Vehicle.getTypeShortUserName(vc)
                            for vc in vehClasses
                        ]))
         elif vehMinLevel < 10:
             reqs = _ms(QUESTS.QUESTTASKDETAILSVIEW_REQUIREMENTS_MORE8LVL)
         else:
             reqs = _ms(QUESTS.QUESTTASKDETAILSVIEW_REQUIREMENTS_ONLY10LVL)
     else:
         reqsHeader = reqs = ''
     condition = makeHtmlString(
         'html_templates:lobby/quests/potapov',
         'questDetails',
         ctx={
             'mainCondHeader':
             text_styles.middleTitle(
                 _ms(QUESTS.QUESTTASKDETAILSVIEW_MAINCONDITIONS)),
             'mainCond':
             quest.getUserMainCondition(),
             'addCondHeader':
             text_styles.middleTitle(
                 _ms(QUESTS.QUESTTASKDETAILSVIEW_ADDITIONALCONDITIONS)),
             'addCond':
             quest.getUserAddCondition(),
             'requirementsHeader':
             reqsHeader,
             'requirements':
             reqs,
             'adviseHeader':
             text_styles.middleTitle(
                 _ms(QUESTS.QUESTTASKDETAILSVIEW_DESCRIPTION)),
             'advise':
             quest.getUserAdvice(),
             'descr':
             quest.getUserDescription()
         })
     if not quest.isUnlocked():
         btnInfo = _makeSelectBtn(
             QUESTS.QUESTTASKDETAILSVIEW_BTNLABEL_BEGIN,
             enabled=False,
             descr=text_styles.error(icons.notAvailableRed() + ' ' +
                                     _ms(self._lockedMessageStrKey)))
     elif quest.needToGetReward():
         btnInfo = _makeSelectBtn(
             QUESTS.QUESTTASKDETAILSVIEW_BTNLABEL_TAKEAWARD,
             TOOLTIPS.PRIVATEQUESTS_ACTIONPANNEL_RECEIVETHEAWARD,
             _ms(QUESTS.QUESTTASKDETAILSVIEW_TASKDESCRIPTION_TAKEAWARD))
     elif quest.isInProgress():
         btnInfo = _makeRefuseBtn(
             QUESTS.QUESTTASKDETAILSVIEW_BTNLABEL_CANCEL,
             TOOLTIPS.PRIVATEQUESTS_ACTIONPANNEL_ABORT,
             _ms(QUESTS.QUESTTASKDETAILSVIEW_TASKDESCRIPTION_INPROGRESS))
     elif quest.isFullCompleted():
         btnInfo = _makeNoBtn(
             text_styles.success(icons.checkmark() + _ms(
                 QUESTS.QUESTTASKDETAILSVIEW_TASKDESCRIPTION_EXCELLENTDONE))
         )
     elif quest.isMainCompleted():
         btnInfo = _makeSelectBtn(
             QUESTS.QUESTTASKDETAILSVIEW_BTNLABEL_REPEAT,
             TOOLTIPS.PRIVATEQUESTS_ACTIONPANNEL_REPEAT,
             text_styles.success(
                 icons.checkmark() +
                 _ms(QUESTS.QUESTTASKDETAILSVIEW_TASKDESCRIPTION_DONE)))
     else:
         btnInfo = _makeSelectBtn(
             QUESTS.QUESTTASKDETAILSVIEW_BTNLABEL_BEGIN,
             TOOLTIPS.PRIVATEQUESTS_ACTIONPANNEL_PERFORM,
             _ms(QUESTS.QUESTTASKDETAILSVIEW_TASKDESCRIPTION_AVAILABLE))
     mainAwards, addAwards = questInfoData._getBonuses(
         old_events_helpers.getPotapovQuestsCache().getQuests().values())
     result = {
         'taskID': questID,
         'headerText': text_styles.highTitle(quest.getUserName()),
         'conditionsText': condition,
         'mainAwards': mainAwards,
         'addAwards': addAwards
     }
     result.update(btnInfo._asdict())
     return result
 def _packHeaderBlock(self):
     return formatters.packTitleDescBlock(title=text_styles.highTitle(RANKED_BATTLES.SELECTORTOOLTIP_TITLE), desc=text_styles.main(RANKED_BATTLES.SELECTORTOOLTIP_DESC))
Example #46
0
    def __updateTileData(self, vehType, questState, selectItemID=-1):
        self._navInfo.changePQFilters(vehType, questState)
        questsByChains = self.__getQuestsByChains(vehType, questState)
        chains = []
        newSelectedItemID = -1
        for _, chainID, quests in questsByChains:
            completedQuestsCount = len(
                self.__tile.getQuestsInChainByFilter(
                    chainID, lambda q: q.isCompleted()))
            chain = {
                'name':
                text_styles.highTitle(self.__getChainUserName(chainID)),
                'progressText':
                text_styles.main(
                    '%d/%d' %
                    (completedQuestsCount, self.__tile.getChainSize())),
                'tasks': [],
                'enabled':
                True
            }
            for quest in sorted(quests, key=operator.methodcaller('getID')):
                stateName, stateIcon = self.__getQuestStatusData(quest)
                questID = quest.getID()
                chain['tasks'].append({
                    'name':
                    text_styles.main(quest.getUserName()),
                    'stateName':
                    stateName,
                    'stateIconPath':
                    stateIcon,
                    'arrowIconPath':
                    RES_ICONS.MAPS_ICONS_LIBRARY_ARROWORANGERIGHTICON8X8,
                    'tooltip':
                    TOOLTIPS.PRIVATEQUESTS_TASKLISTITEM_BODY,
                    'id':
                    questID,
                    'enabled':
                    True
                })
                if questID == selectItemID:
                    newSelectedItemID = questID

            chains.append(chain)

        self.as_updateTileDataS({
            'statistics': {
                'label':
                text_styles.main(
                    _ms(QUESTS.TILECHAINSVIEW_STATISTICSLABEL_TEXT)),
                'arrowIconPath':
                RES_ICONS.MAPS_ICONS_LIBRARY_ARROWORANGERIGHTICON8X8,
                'tooltip':
                TOOLTIPS.PRIVATEQUESTS_TASKLISTITEM_BODY
            },
            'chains': chains
        })
        if selectItemID == -1:
            self.getChainProgress()
        else:
            self.as_updateChainProgressS(self.__makeChainsProgressData())
        self.as_setSelectedTaskS(newSelectedItemID)
Example #47
0
 def _packTitleBlock(self, title):
     return formatters.packTitleDescBlock(
         title=text_styles.highTitle(title), padding={'top': -5})
Example #48
0
def buildCustomizationItemDataVO(item,
                                 count=None,
                                 isApplied=False,
                                 isDarked=False,
                                 isUsedUp=False,
                                 autoRentEnabled=False,
                                 vehicle=None,
                                 progressionLevel=None,
                                 icon=None,
                                 showDetailItems=True,
                                 plainView=False,
                                 showEditableHint=False,
                                 showEditBtnHint=False,
                                 isChained=False,
                                 isUnsuitable=False):
    if plainView:
        hasBonus = False
        locked = False
        buyPrice = ITEM_PRICE_EMPTY
    else:
        hasBonus = item.bonus is not None
        locked = isUsedUp or not item.isUnlocked
        buyPrice = ITEM_PRICE_EMPTY if item.isHidden or item.buyCount <= 0 else item.getBuyPrice(
        )
    if isUnsuitable:
        locked = True
    if item.itemTypeID == GUI_ITEM_TYPE.PROJECTION_DECAL:
        formFactor = PROJECTION_DECAL_FORM_TO_UI_ID[item.formfactor]
        formIconSource = PROJECTION_DECAL_IMAGE_FORM_TAG[item.formfactor]
        scale = _PROJECTION_DECAL_FORM_TO_IMAGE_SCALE[item.formfactor]
    else:
        formFactor = -1
        formIconSource = ''
        scale = _DEFAULT_IMAGE_SCALE
    if item.isRentable and count <= 0:
        rentalInfoText = R.strings.vehicle_customization.carousel.rentalBattles(
        )
        rentalInfoText = text_styles.main(
            backport.text(rentalInfoText, battlesNum=item.rentCount))
    else:
        rentalInfoText = ''
    if item.itemTypeID in (GUI_ITEM_TYPE.MODIFICATION, GUI_ITEM_TYPE.STYLE):
        extraNames = (text_styles.bonusLocalText(item.userName),
                      text_styles.highTitle(item.userName))
    else:
        extraNames = None
    if isUsedUp:
        lockText = backport.text(
            R.strings.vehicle_customization.customization.limited.onOther())
    elif isUnsuitable:
        lockText = backport.text(
            R.strings.vehicle_customization.customization.unsuitable())
    else:
        lockText = backport.text(
            R.strings.vehicle_customization.customization.UnsupportedForm())
    showAlert = __isNeedToShowAlert(item)
    imageCached = item.itemTypeID is not GUI_ITEM_TYPE.PROJECTION_DECAL
    editingReason, editableIcon = __getEditableBlockData(item, vehicle)
    editBtnEnabled = bool(editingReason)
    showEditableHint = showEditableHint and bool(
        editableIcon) and editBtnEnabled
    showEditBtnHint = showEditBtnHint and editBtnEnabled
    isSpecial = __isItemSpecial(item)
    if vehicle is not None:
        progressionLevel = progressionLevel or item.getLatestOpenedProgressionLevel(
            vehicle)
        noveltyCounter = item.getNoveltyCounter(vehicle)
    else:
        progressionLevel = progressionLevel or -1
        noveltyCounter = 0
    isProgressionRewindEnabled = item.itemTypeID == GUI_ITEM_TYPE.STYLE and item.isProgressionRewindEnabled
    icon = icon or __getIcon(item, progressionLevel)
    iconAlpha = _ICON_ALPHA_BY_GUI_ITEM_TYPE.get(item.itemTypeID, 1)
    tooltip = VEHICLE_CUSTOMIZATION.CUSTOMIZATION_SLOT_EDITBTN_ENABLED
    if editingReason.reason == EDITING_STYLE_REASONS.NOT_REACHED_LEVEL:
        tooltip = VEHICLE_CUSTOMIZATION.CUSTOMIZATION_SLOT_EDITBTN_DISABLED_NOTREACHEDLEVEL
    elif not editingReason:
        tooltip = VEHICLE_CUSTOMIZATION.CUSTOMIZATION_SLOT_EDITBTN_DISABLED
    isWithSerialNumber = item.itemTypeID == GUI_ITEM_TYPE.STYLE and item.isWithSerialNumber
    return CustomizationCarouselRendererVO(
        item=item,
        icon=icon,
        hasBonus=hasBonus,
        locked=locked,
        buyPrice=buyPrice,
        quantity=count,
        showDetailItems=showDetailItems,
        isSpecial=isSpecial,
        isDarked=isDarked,
        isAlreadyUsed=isUsedUp,
        showAlert=showAlert,
        extraNames=extraNames,
        isEquipped=isApplied,
        rentalInfoText=rentalInfoText,
        imageCached=imageCached,
        autoRentEnabled=autoRentEnabled,
        noveltyCounter=noveltyCounter,
        formIconSource=formIconSource,
        defaultIconAlpha=iconAlpha,
        lockText=lockText,
        formFactor=formFactor,
        progressionLevel=progressionLevel,
        editableIcon=editableIcon,
        editBtnEnabled=editBtnEnabled,
        showEditableHint=showEditableHint,
        showEditBtnHint=showEditBtnHint,
        imageScale=scale,
        tooltip=tooltip,
        isChained=isChained,
        isUnsuitable=isUnsuitable,
        isProgressionRewindEnabled=isProgressionRewindEnabled,
        isWithSerialNumber=isWithSerialNumber).asDict()
Example #49
0
 def getHeader(self):
     return text_styles.highTitle(
         i18n.makeString(MENU.AWARDWINDOW_QUESTS_MEDALS_HEADER))
Example #50
0
 def __packTitleBlock():
     return formatters.packTextBlockData(text=text_styles.highTitle(TOOLTIPS.BLUEPRINT_BLUEPRINTEMPTYSLOT_TITLE), padding=formatters.packPadding(top=5, bottom=3))
Example #51
0
 def getNextQuestHeader(self):
     if self._nextQuest is not None:
         return text_styles.highTitle(self._nextQuest.getUserName())
     else:
         return ''
         return
Example #52
0
 def __packRandomFragmentBlocks(self):
     self._items.append(formatters.packImageTextBlockData(title=text_styles.highTitle(backport.text(R.strings.tooltips.blueprint.randomNational.header())), img=backport.image(R.images.gui.maps.icons.blueprints.fragment.small.randomNational()), imgPadding=formatters.packPadding(top=5), txtPadding=formatters.packPadding(top=5, left=19), descLeading=-1))
     descriptionBlock = formatters.packImageTextBlockData(desc=text_styles.main(backport.text(R.strings.tooltips.blueprint.randomNational.description())), img=backport.image(R.images.gui.maps.icons.blueprints.plus()), imgPadding=formatters.packPadding(top=0, right=5), padding=formatters.packPadding(left=40))
     self._items.append(formatters.packBuildUpBlockData(blocks=[descriptionBlock, self.__packAdditionalInfoBlock()], gap=3, linkage=BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE, padding=formatters.packPadding(bottom=-3)))
     self._items.append(formatters.packTextBlockData(text='', padding=formatters.packPadding(bottom=-12)))
Example #53
0
 def getCurrentQuestHeader(self):
     return text_styles.highTitle(self._quest.getUserName())
Example #54
0
 def __packTitleBlock(self, isShortForm):
     return formatters.packTitleDescBlock(title=text_styles.highTitle(TOOLTIPS.BLUEPRINT_VEHICLEBLUEPRINTTOOLTIP_HEADER), desc=self._getVehicleDescrStr(self.__vehicle), gap=0, descPadding=formatters.packPadding(top=-5, left=1), padding=formatters.packPadding(top=5, bottom=1 if isShortForm else 0))
Example #55
0
 def getHeader(self):
     return text_styles.highTitle(
         i18n.makeString(MENU.AWARDWINDOW_QUESTS_VEHICLE_HEADER,
                         vehicleName=self.__vehicle.userName))
Example #56
0
 def getHeader(self):
     return text_styles.highTitle(_ms(MENU.AWARDWINDOW_REFERRAL_CREDITS_HEADER))
Example #57
0
 def getHeader(self):
     return text_styles.highTitle(_ms(MENU.AWARDWINDOW_REFERRAL_VEHICLE_HEADER, vehicleName=self.__vehicle.userName))