コード例 #1
0
ファイル: indicators.py プロジェクト: kusaku/wot_scripts
 def __getHint(self):
     keyName = getReadableKey(CommandMapping.CMD_CM_VEHICLE_SWITCH_AUTOROTATION)
     if keyName:
         pressText = text_styles.tutorial(INGAME_GUI.SIEGEMODE_HINT_PRESS)
         hintText = text_styles.tutorial(INGAME_GUI.siegeModeHint(self._siegeState))
         keyText = makeHtmlString('html_templates:battle/siegeMode', 'toggle', ctx={'key': keyName})
         return (keyText, pressText, hintText)
     return ('', '', text_styles.tutorial(INGAME_GUI.SIEGEMODE_HINT_NOBINDING))
コード例 #2
0
 def getBuyingPanelData(self, item, data=None, isHeroTank=False, itemsPack=None):
     isBuyingAvailable = not isHeroTank and (not item.isHidden or item.isRentable or item.isRestorePossible())
     uniqueVehicleTitle = ''
     if not (isBuyingAvailable or isHeroTank):
         uniqueVehicleTitle = text_styles.tutorial(backport.text(R.strings.vehicle_preview.buyingPanel.uniqueVehicleLabel()))
     compensationData = self.__getCompensationData(itemsPack)
     resultVO = {'setTitle': data.title,
      'uniqueVehicleTitle': uniqueVehicleTitle,
      'vehicleId': item.intCD,
      'isBuyingAvailable': isBuyingAvailable,
      'isMoneyEnough': data.isMoneyEnough,
      'buyButtonEnabled': data.enabled,
      'buyButtonLabel': data.label,
      'buyButtonIcon': data.icon,
      'buyButtonIconAlign': data.iconAlign,
      'buyButtonTooltip': data.tooltip,
      'isShowSpecialTooltip': data.isShowSpecial,
      'itemPrice': data.itemPrice,
      'isUnlock': data.isUnlock,
      'couponDiscount': 0,
      'showAction': data.isAction,
      'hasCompensation': compensationData is not None,
      'compensation': compensationData if compensationData is not None else {},
      'warning': self.__getWarningInfo(data, item)}
     customOffer = self.__getCustomOfferData(data)
     if customOffer is not None:
         resultVO.update({'customOffer': customOffer})
     return resultVO
 def __setShortLeftTime(self, leftTime):
     self.as_updateLeftTimeS(formattedTime='{} {}'.format(
         self.__timeLeftIcon,
         text_styles.tutorial(
             time_utils.getTillTimeString(
                 leftTime, MENU.VEHICLEPREVIEW_TIMELEFTSHORT))),
                             hasHoursAndMinutes=True)
コード例 #4
0
 def getBottomPanelData(self, item, isHeroTank=False, isBootCamp=False):
     isBuyingAvailable = not isHeroTank and (not item.isHidden
                                             or item.isRentable
                                             or item.isRestorePossible())
     if isBuyingAvailable or isHeroTank:
         if item.canTradeIn:
             buyingLabel = text_styles.main(
                 VEHICLE_PREVIEW.BUYINGPANEL_TRADEINLABEL)
         else:
             buyingLabel = ''
     else:
         buyingLabel = text_styles.tutorial(
             VEHICLE_PREVIEW.BUYINGPANEL_ALERTLABEL)
     vcData = None if isBootCamp else self.__getVehCompareData(item)
     vcIcon = None if isBootCamp else makeImageTag(
         RES_ICONS.MAPS_ICONS_BUTTONS_VEHICLECOMPAREBTN, 30, 24, -27)
     return {
         'buyingLabel': buyingLabel,
         'isBuyingAvailable': isBuyingAvailable,
         'isCanTrade': item.canTradeIn,
         'showStatusInfoTooltip': item.hasModulesToSelect,
         'vehicleId': item.intCD,
         'vehCompareData': vcData,
         'vehCompareIcon': vcIcon
     }
コード例 #5
0
 def getBuyingPanelData(self,
                        item,
                        data=None,
                        isHeroTank=False,
                        itemsPack=None):
     isBuyingAvailable = not isHeroTank and (not item.isHidden
                                             or item.isRentable
                                             or item.isRestorePossible())
     isAction = data.action is not None
     uniqueVehicleTitle = ''
     buyingLabel = ''
     if isBuyingAvailable or isHeroTank:
         if item.canTradeIn:
             buyingLabel = text_styles.main(
                 VEHICLE_PREVIEW.BUYINGPANEL_TRADEINLABEL)
     else:
         uniqueVehicleTitle = text_styles.tutorial(
             VEHICLE_PREVIEW.BUYINGPANEL_UNIQUEVEHICLELABEL)
     compensationData = self.__getCompensationData(itemsPack)
     return {
         'setTitle':
         data.title,
         'uniqueVehicleTitle':
         uniqueVehicleTitle,
         'buyingLabel':
         buyingLabel,
         'vehicleId':
         item.intCD,
         'isCanTrade':
         item.canTradeIn,
         'isBuyingAvailable':
         isBuyingAvailable,
         'isMoneyEnough':
         data.enabled,
         'buyButtonEnabled':
         data.enabled,
         'buyButtonLabel':
         data.label,
         'buyButtonTooltip':
         data.tooltip,
         'price':
         data.price,
         'showGlow':
         isHeroTank or item.isPremium and
         (not item.isHidden or item.isRentable or item.isRestorePossible()),
         'showAction':
         isAction,
         'actionTooltipType':
         TOOLTIPS_CONSTANTS.ACTION_PRICE if isAction else None,
         'actionData':
         data.action,
         'hasCompensation':
         compensationData is not None,
         'compensation':
         compensationData if compensationData is not None else {}
     }
コード例 #6
0
 def __makeCloseeRendererVO(self):
     iconSrc = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_CROSS
     hoverIcon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_CROSS_HOVER
     actionBtnLabel = VEHICLE_CUSTOMIZATION.PROPERTYSHEET_ACTIONBTN_CLOSE
     return {
         'iconSrc': iconSrc,
         'iconHoverSrc': hoverIcon,
         'actionBtnLabel': text_styles.tutorial(actionBtnLabel),
         'rendererLnk':
         CUSTOMIZATION_ALIASES.CUSTOMIZATION_SHEET_BTN_RENDERER_UI,
         'actionType':
         CUSTOMIZATION_ALIASES.CUSTOMIZATION_SHEET_ACTION_CLOSE
     }
コード例 #7
0
 def getTitleBlock(self):
     linkedActionID = self._group.getLinkedAction(
         self.eventsCache.getActions())
     return {
         'title': self.getTitle(),
         'action': {
             'actionID':
             linkedActionID,
             'label':
             text_styles.tutorial(
                 QUESTS.MISSIONS_TAB_MARATHONS_HEADER_TITLE_ACTION),
             'visible':
             linkedActionID is not None
         }
     }
コード例 #8
0
    def __updateSideBar(self):
        chains = []
        currChainID = self.getChainID()
        currentOperation = self.getOperation()
        currentVehicleType = currentOperation.getChainVehicleClass(currChainID)
        for vehicleType in VEHICLE_TYPES_ORDER:
            chainID, quests = currentOperation.getChainByVehicleType(
                vehicleType)
            chainState = self.__getChainState(quests)
            progress = self.__getProgress(quests)
            if chainState.isCompleted:
                currentProgress = text_styles.bonusAppliedText(
                    progress['value'])
            else:
                currentProgress = text_styles.stats(progress['value'])
            if currentVehicleType == vehicleType:
                label = text_styles.tutorial(
                    PERSONAL_MISSIONS.chainNameByVehicleType(
                        currentVehicleType))
            elif chainState.questInProgress is not None:
                label = text_styles.main(
                    chainState.questInProgress.getShortUserName())
            elif chainState.isFullCompleted:
                label = text_styles.bonusAppliedText(
                    PERSONAL_MISSIONS.SIDEBAR_FULLCOMPLETED)
            elif chainState.isCompleted:
                label = text_styles.bonusAppliedText(
                    PERSONAL_MISSIONS.SIDEBAR_COMPLETED)
            else:
                label = text_styles.main(PERSONAL_MISSIONS.SIDEBAR_NOTSELECTED)
            progressText = text_styles.main(' / ').join(
                (currentProgress, text_styles.main(progress['maxValue'])))
            chains.append({
                'chainID':
                chainID,
                'progressText':
                progressText,
                'label':
                label,
                'tankIcon':
                Vehicle.getTypeBigIconPath(vehicleType, False),
                'progress':
                progress
            })

        self.as_updateBranchesDataS({'chains': chains})
        self.as_setSelectedBranchIndexS(currChainID)
        return
コード例 #9
0
 def __removeAllTankPartsRendererVO(self):
     icon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_ICON_DEL_TANK
     hoverIcon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_ICON_DEL_TANK_HOVER
     actionBtnLabel = VEHICLE_CUSTOMIZATION.PROPERTYSHEET_ACTIONBTN_CLEAR
     return {
         'iconSrc':
         icon,
         'iconHoverSrc':
         hoverIcon,
         'actionBtnLabel':
         text_styles.tutorial(actionBtnLabel),
         'actionType':
         CUSTOMIZATION_ALIASES.
         CUSTOMIZATION_SHEET_ACTION_REMOVE_FROM_ALL_PARTS,
         'rendererLnk':
         CUSTOMIZATION_ALIASES.CUSTOMIZATION_SHEET_BTN_RENDERER_UI
     }
コード例 #10
0
 def _getHeader(self, currentEvent):
     eventID = currentEvent.getEventID()
     isRegistered = self._eventsController.getHangarFlagData().isRegistered(
         eventID)
     isRegistrationNeeded = currentEvent.getLimits(
     ).getIsRegistrationNeeded()
     if isRegistrationNeeded and not isRegistered:
         if currentEvent.isRegistrationFinishSoon():
             flagIcon = icons.makeImageTag(
                 RES_ICONS.MAPS_ICONS_EVENTBOARDS_FLAGICONS_TIME_ICON)
         else:
             flagIcon = icons.makeImageTag(
                 RES_ICONS.MAPS_ICONS_EVENTBOARDS_FLAGICONS_FLAG_ICON)
         textData = currentEvent.getFormattedRemainingTime(
             EVENT_DATE_TYPE.PARTICIPANTS_FREEZE)
         msgText = TOOLTIPS.HANGAR_ELEN_HEADER_TOENDOFREGISTRATION
         time = textData[0] if textData[0] is not 0 else 1
         timeText = textData[1] if textData[1] else FORMAT_MINUTE_STR
         timeName = EVENT_BOARDS.time_period(str(timeText))
         text = '{} {} {} {}'.format(flagIcon,
                                     text_styles.tutorial(_ms(msgText)),
                                     text_styles.tutorial(time),
                                     text_styles.tutorial(timeName))
     else:
         textData = currentEvent.getFormattedRemainingTime(
             EVENT_DATE_TYPE.END)
         msgText = TOOLTIPS.HANGAR_ELEN_HEADER_TOEND
         time = textData[0] if textData[0] is not 0 else 1
         timeText = textData[1] if textData[1] else FORMAT_MINUTE_STR
         timeName = EVENT_BOARDS.time_period(str(timeText))
         if currentEvent.isEndSoon():
             flagIcon = icons.makeImageTag(
                 RES_ICONS.MAPS_ICONS_EVENTBOARDS_FLAGICONS_TIME_ICON)
             text = '{} {} {} {}'.format(flagIcon,
                                         text_styles.tutorial(_ms(msgText)),
                                         text_styles.tutorial(time),
                                         text_styles.tutorial(timeName))
         else:
             flagIcon = icons.makeImageTag(
                 RES_ICONS.MAPS_ICONS_EVENTBOARDS_FLAGICONS_FLAG_ICON)
             text = '{} {} {} {}'.format(flagIcon,
                                         text_styles.main(_ms(msgText)),
                                         text_styles.stats(time),
                                         text_styles.stats(timeName))
     return formatters.packImageTextBlockData(
         title=text_styles.highTitle(
             _ms(TOOLTIPS.HANGAR_ELEN_HEADER_NAME,
                 name=currentEvent.getName())),
         img=currentEvent.getKeyArtSmall(),
         txtPadding=formatters.packPadding(top=22),
         txtOffset=20,
         txtGap=-8,
         desc=text)
コード例 #11
0
 def __makeRemoveRendererVO(self):
     iconSrc = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_CROSS
     hoverIcon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_CROSS_HOVER
     if self._slotID == GUI_ITEM_TYPE.STYLE:
         actionBtnLabel = VEHICLE_CUSTOMIZATION.PROPERTYSHEET_ACTIONBTN_REMOVESTYLE
         iconSrc = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_REMOVE_STYLE_X
         hoverIcon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_REMOVE_STYLE_X_HOVER
     else:
         if self._slotID == GUI_ITEM_TYPE.MODIFICATION:
             actionBtnLabel = VEHICLE_CUSTOMIZATION.PROPERTYSHEET_ACTIONBTN_REMOVE_TANK
             iconSrc = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_REMOVE_EFFECTS_X
             hoverIcon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_REMOVE_EFFECTS_X_HOVER
         elif self._slotID == GUI_ITEM_TYPE.EMBLEM:
             actionBtnLabel = VEHICLE_CUSTOMIZATION.PROPERTYSHEET_ACTIONBTN_REMOVE_EMBLEM
             iconSrc = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_REMOVE_EMBLEM_X
             hoverIcon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_REMOVE_EMBLEM_X_HOVER
         elif self._slotID == GUI_ITEM_TYPE.INSCRIPTION:
             actionBtnLabel = VEHICLE_CUSTOMIZATION.PROPERTYSHEET_ACTIONBTN_REMOVE_INSCRIPTION
             iconSrc = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_REMOVE_TYPE_X
             hoverIcon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_REMOVE_TYPE_X_HOVER
         elif self._slotID == GUI_ITEM_TYPE.PROJECTION_DECAL:
             actionBtnLabel = VEHICLE_CUSTOMIZATION.PROPERTYSHEET_ACTIONBTN_REMOVE_PROJECTIONDECAL
             iconSrc = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_REMOVE_EFFECTS_X
             hoverIcon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_REMOVE_EFFECTS_X_HOVER
         else:
             actionBtnLabel = VEHICLE_CUSTOMIZATION.getSheetBtnRemoveText(
                 getCustomizationTankPartName(self._areaID, self._regionID))
         if self._slotID == GUI_ITEM_TYPE.CAMOUFLAGE:
             iconSrc = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_REMOVE_CAMO_X
             hoverIcon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_REMOVE_CAMO_X_HOVER
         elif self._slotID == GUI_ITEM_TYPE.PAINT:
             iconSrc = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_REMOVE_COLORS_X
             hoverIcon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_REMOVE_COLORS_X_HOVER
     return {
         'iconSrc':
         iconSrc,
         'iconHoverSrc':
         hoverIcon,
         'actionBtnLabel':
         text_styles.tutorial(actionBtnLabel),
         'rendererLnk':
         CUSTOMIZATION_ALIASES.CUSTOMIZATION_SHEET_BTN_RENDERER_UI,
         'actionType':
         CUSTOMIZATION_ALIASES.CUSTOMIZATION_SHEET_ACTION_REMOVE_ONE
     }
コード例 #12
0
 def __getFormattedTillTimeString(self,
                                  timeValue,
                                  keyNamespace,
                                  extraFmt=False):
     gmtime = time.gmtime(timeValue)
     if timeValue >= ONE_DAY:
         text = backport.text(self._data.tooltips.daysShort,
                              value=str(gmtime.tm_yday))
     elif timeValue >= ONE_HOUR:
         text = backport.text(self._data.tooltips.hoursShort,
                              value=str(gmtime.tm_hour + 1))
     else:
         text = backport.text(self._data.tooltips.minutesShort,
                              value=str(gmtime.tm_min + 1))
     return text_styles.main(
         backport.text(keyNamespace, value=text_styles.stats(text))
     ) if extraFmt or timeValue >= ONE_DAY else text_styles.tutorial(
         backport.text(keyNamespace, value=text))
コード例 #13
0
    def __collectSideBarData(self):
        currentOperation = self.getOperation()
        chains = []
        if self.getBranch() == PM_BRANCH.PERSONAL_MISSION_2:
            tooltip = TOOLTIPS_CONSTANTS.OPERATIONS_CHAIN_DETAILS
        else:
            tooltip = None
        for classifierAttr in currentOperation.getIterationChain():
            chainID, q = currentOperation.getChainByClassifierAttr(
                classifierAttr)
            chainState = self.__getChainState(q)
            progress = self.__getProgress(q)
            if chainState.isCompleted:
                currentProgress = text_styles.bonusAppliedText(
                    progress['value'])
            else:
                currentProgress = text_styles.stats(progress['value'])
            if chainID == self.getChainID():
                label = text_styles.tutorial(
                    currentOperation.getChainName(chainID))
            elif chainState.questInProgress is not None:
                label = text_styles.main(
                    chainState.questInProgress.getShortUserName())
            elif chainState.isFullCompleted:
                label = text_styles.bonusAppliedText(
                    PERSONAL_MISSIONS.SIDEBAR_FULLCOMPLETED)
            elif chainState.isCompleted:
                label = text_styles.bonusAppliedText(
                    PERSONAL_MISSIONS.SIDEBAR_COMPLETED)
            else:
                label = text_styles.main(PERSONAL_MISSIONS.SIDEBAR_NOTSELECTED)
            progressText = text_styles.main(' / ').join(
                (currentProgress, text_styles.main(progress['maxValue'])))
            chains.append({
                'chainID': chainID,
                'progressText': progressText,
                'label': label,
                'tankIcon': currentOperation.getChainIcon(chainID),
                'progress': progress,
                'tooltip': tooltip
            })

        return chains
コード例 #14
0
 def __makeExtensionRendererVO(self):
     if self.__ctx.autoRentEnabled():
         icon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_ICON_DEL_RENT
         hoverIcon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_ICON_DEL_RENT_HOVER
         label = VEHICLE_CUSTOMIZATION.CUSTOMIZATION_POPOVER_STYLE_NOTAUTOPROLONGATIONLABEL
     else:
         icon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_ICON_RENT
         hoverIcon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_ICON_RENT_HOVER
         label = VEHICLE_CUSTOMIZATION.CUSTOMIZATION_POPOVER_STYLE_AUTOPROLONGATIONLABEL
     return {
         'iconSrc':
         icon,
         'iconHoverSrc':
         hoverIcon,
         'actionBtnLabel':
         text_styles.tutorial(label),
         'actionType':
         CUSTOMIZATION_ALIASES.CUSTOMIZATION_SHEET_RENT_CHECKBOX_CHANGE,
         'rendererLnk':
         CUSTOMIZATION_ALIASES.CUSTOMIZATION_SHEET_BTN_RENDERER_UI
     }
コード例 #15
0
 def __makeSetOnOtherSeasonsRendererVO(self):
     icon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_ICON_ALL_SEASON
     hoverIcon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_ICON_ALL_SEASON_HOVER
     actionBtnLabel = VEHICLE_CUSTOMIZATION.PROPERTYSHEET_ACTIONBTN_APPLYTOALLMAPS
     if self._isItemAppliedToAll:
         actionBtnLabel = VEHICLE_CUSTOMIZATION.PROPERTYSHEET_ACTIONBTN_REMOVE_SEASONS
         icon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_ICON_DEL_ALL_SEASON
         hoverIcon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_ICON_DEL_ALL_SEASON_HOVER
     return {
         'iconSrc':
         icon,
         'iconHoverSrc':
         hoverIcon,
         'actionBtnLabel':
         text_styles.tutorial(actionBtnLabel),
         'actionType':
         CUSTOMIZATION_ALIASES.
         CUSTOMIZATION_SHEET_ACTION_APPLY_TO_ALL_SEASONS,
         'rendererLnk':
         CUSTOMIZATION_ALIASES.CUSTOMIZATION_SHEET_BTN_RENDERER_UI
     }
コード例 #16
0
 def __makeSetOnOtherTankPartsRendererVO(self):
     icon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_TANK
     hoverIcon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_TANK_HOVER
     actionBtnLabel = VEHICLE_CUSTOMIZATION.PROPERTYSHEET_ACTIONBTN_APPLYTOWHOLETANK
     if self._isItemAppliedToAll:
         icon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_ICON_DEL_TANK
         hoverIcon = RES_ICONS.MAPS_ICONS_CUSTOMIZATION_PROPERTY_SHEET_ICON_DEL_TANK_HOVER
         actionBtnLabel = VEHICLE_CUSTOMIZATION.PROPERTYSHEET_ACTIONBTN_CANCEL
     return {
         'iconSrc':
         icon,
         'iconHoverSrc':
         hoverIcon,
         'actionBtnLabel':
         text_styles.tutorial(actionBtnLabel),
         'actionType':
         CUSTOMIZATION_ALIASES.
         CUSTOMIZATION_SHEET_ACTION_APPLY_TO_ALL_PARTS,
         'rendererLnk':
         CUSTOMIZATION_ALIASES.CUSTOMIZATION_SHEET_BTN_RENDERER_UI
     }
コード例 #17
0
 def __getFormattedTillTimeString(self,
                                  timeValue,
                                  keyNamespace,
                                  isRoundUp=True,
                                  extraFmt=False):
     gmtime = time.gmtime(timeValue)
     if isRoundUp and gmtime.tm_sec > 0:
         timeValue += ONE_HOUR
         gmtime = time.gmtime(timeValue)
     if timeValue >= ONE_DAY:
         gmtime = time.gmtime(timeValue - ONE_DAY)
         text = text_styles.stats(
             _ms(self.data.tooltips.daysShort,
                 value=str(time.struct_time(gmtime).tm_yday)))
         return text_styles.main(_ms(keyNamespace, value=text))
     if extraFmt:
         text = text_styles.stats(
             _ms(self.data.tooltips.hoursShort,
                 value=str(time.struct_time(gmtime).tm_hour)))
         return text_styles.main(_ms(keyNamespace, value=text))
     text = _ms(self.data.tooltips.hoursShort,
                value=str(time.struct_time(gmtime).tm_hour))
     return text_styles.tutorial(_ms(keyNamespace, value=text))
コード例 #18
0
 def __packDescription(self, quests, season, isLeagues, isAnyPrimeNow,
                       isAnyPrimeLeftTotal):
     resShortCut = R.strings.ranked_battles.questsTooltip
     isAllCompleted = all((q.isCompleted() for q in quests))
     isAnyPrimeLeftNextDay = self.__rankedController.hasPrimeTimesNextDayLeft(
     )
     icon = icons.markerBlocked()
     timeDelta = time_utils.getTimeDeltaFromNowInLocal(
         time_utils.makeLocalServerTime(season.getEndDate()))
     timeDeltaStr = text_styles.stats(
         backport.getTillTimeStringByRClass(timeDelta,
                                            resShortCut.available))
     text = text_styles.main(
         backport.text(resShortCut.available(), timeDelta=timeDeltaStr))
     if not isAnyPrimeLeftTotal:
         text = text_styles.error(
             backport.getTillTimeStringByRClass(
                 timeDelta, resShortCut.unavailable.seasonEnd))
     elif not isLeagues:
         text = text_styles.error(
             backport.text(resShortCut.unavailable.notInLeagues()))
     elif not isAllCompleted:
         if isAnyPrimeNow:
             icon = icons.inProgress(vspace=-3)
         else:
             text = text_styles.error(
                 backport.text(resShortCut.unavailable.allServersPrime()))
     elif not isAnyPrimeLeftNextDay:
         icon = icons.inProgress(vspace=-3)
     else:
         icon = icons.clockGold()
         timeDelta = EventInfoModel.getDailyProgressResetTimeDelta()
         text = text_styles.tutorial(
             backport.getTillTimeStringByRClass(timeDelta,
                                                resShortCut.cooldown))
     return text_styles.concatStylesWithSpace(icon, text)
コード例 #19
0
    def __updateFooter(self):
        chainState = self.__getChainState(self.getChain())
        isQuestInProgress = False
        btnVisible = False
        btnEnabled = False
        btnLabel = ''
        descr = ''
        currentOperation = self.getOperation()
        chainClassifier = currentOperation.getChainClassifier(
            self.getChainID())
        vehicleClass = getTypeShortUserName(chainClassifier.classificationAttr)
        pm = self._eventsCache.getPersonalMissions()
        branch = self.getBranch()
        freeSheets = pm.getFreeTokensCount(branch)
        pawnedSheets = pm.getPawnedTokensCount(branch)
        if not chainState.hasUnlocked:
            status = text_styles.concatStylesWithSpace(
                icons.markerBlocked(),
                text_styles.error(PERSONAL_MISSIONS.STATUSPANEL_STATUS_LOCKED))
        elif chainState.questInProgress is not None:
            quest = chainState.questInProgress
            if quest.isOnPause:
                status = text_styles.concatStylesWithSpace(
                    icons.makeImageTag(RES_ICONS.MAPS_ICONS_LIBRARY_ONPAUSE,
                                       16, 16, -3, 8),
                    text_styles.playerOnline(quest.getUserName()))
            else:
                isQuestInProgress = True
                status = text_styles.concatStylesWithSpace(
                    icons.inProgress(),
                    text_styles.tutorial(quest.getUserName()))
            if quest.areTokensPawned():
                descr = text_styles.neutral(
                    _ms(PERSONAL_MISSIONS.STATUSPANEL_STATUS_PAWNED,
                        count=quest.getPawnCost(),
                        icon=getHtmlAwardSheetIcon(quest.getQuestBranch())))
            elif quest.isMainCompleted():
                descr = text_styles.neutral(
                    PERSONAL_MISSIONS.STATUSPANEL_STATUS_IMPROVE)
            elif quest.canBePawned() and not quest.isDisabled():
                btnVisible = True
                pawnCost = quest.getPawnCost()
                btnLabel = _ms(
                    PERSONAL_MISSIONS.STATUSPANEL_FREESHEETBTN_LABEL,
                    count=pawnCost,
                    icon=getHtmlAwardSheetIcon(quest.getQuestBranch()))
                if pawnCost <= freeSheets:
                    btnEnabled = True
        elif chainState.isFullCompleted:
            status = text_styles.concatStylesWithSpace(
                icons.doubleCheckmark(1),
                text_styles.bonusAppliedText(
                    _ms(PERSONAL_MISSIONS.STATUSPANEL_STATUS_ALLEXCELLENTDONE,
                        vehicleClass=vehicleClass)))
        elif chainState.isCompleted:
            status = text_styles.concatStylesWithSpace(
                icons.checkmark(-2),
                text_styles.bonusAppliedText(
                    _ms(PERSONAL_MISSIONS.STATUSPANEL_STATUS_ALLDONE,
                        vehicleClass=vehicleClass)))
        elif not chainState.hasVehicle:
            if self.getBranch() == PM_BRANCH.PERSONAL_MISSION_2:
                template = PERSONAL_MISSIONS.OPERATIONTITLE_LABEL_NOVEHICLE_PM2
            else:
                template = PERSONAL_MISSIONS.OPERATIONTITLE_LABEL_NOVEHICLE_REGULAR
            vehData = getChainVehRequirements(currentOperation,
                                              self.getChainID(),
                                              useIcons=False)
            status = text_styles.concatStylesWithSpace(
                icons.markerBlocked(),
                text_styles.error(_ms(template, vehData=vehData)))
        else:
            status = text_styles.concatStylesWithSpace(
                icons.makeImageTag(
                    RES_ICONS.MAPS_ICONS_LIBRARY_ATTENTIONICONFILLED, 16, 16,
                    -2),
                text_styles.neutral(
                    PERSONAL_MISSIONS.STATUSPANEL_STATUS_SELECTTASK))
        tankwomanQuests = []
        for operation in pm.getAllOperations().itervalues():
            tankwomanQuests.extend(
                operation.getQuestsByFilter(
                    PersonalMission.needToGetTankWoman).itervalues())

        counterText = ''
        tankwomanVisible = False
        if tankwomanQuests:
            counterText = text_styles.highlightText('x%s' %
                                                    len(tankwomanQuests))
            tankwomanVisible = True
        self.as_setStatusDataS({
            'statusText': status,
            'descrText': descr,
            'btnVisible': btnVisible,
            'btnEnabled': btnEnabled,
            'btnLabel': btnLabel,
            'sheetsBlockData': {
                'freeSheetsIcon':
                AwardSheetPresenter.getIcon(AwardSheetPresenter.Size.MID),
                'freeSheetsText':
                text_styles.main(
                    _ms(PERSONAL_MISSIONS.STATUSPANEL_FREESHEETS,
                        count=text_styles.highlightText(freeSheets))),
                'pawnedSheetsText':
                text_styles.main(
                    _ms(PERSONAL_MISSIONS.STATUSPANEL_PAWNEDSHEETS,
                        count=text_styles.highlightText(pawnedSheets))),
                'tooltipData': {
                    'isSpecial':
                    True,
                    'specialAlias':
                    TOOLTIPS_CONSTANTS.FREE_SHEET_RETURN if freeSheets
                    or pawnedSheets else TOOLTIPS_CONSTANTS.FREE_SHEET,
                    'specialArgs': [currentOperation.getCampaignID()]
                },
                'popover':
                PERSONAL_MISSIONS_ALIASES.FREE_SHEET_POPOVER,
                'popoverData': {
                    'branch': branch
                }
            },
            'tankgirlsBlockData': {
                'counterText': counterText,
                'visible': tankwomanVisible,
                'tooltipData': {
                    'isSpecial': True,
                    'specialAlias':
                    TOOLTIPS_CONSTANTS.PERSONAL_MISSIONS_TANKWOMAN,
                    'specialArgs': []
                },
                'popover': PERSONAL_MISSIONS_ALIASES.TANK_GIRLS_POPOVER
            },
            'tooltip': None,
            'isQuestInProgress': isQuestInProgress
        })
        return
コード例 #20
0
def _convertHints(hintsList):
    return map(lambda hint: setattr(hint, 'hintText', text_styles.tutorial(hint.get('hintText', ''))), hintsList)
コード例 #21
0
ファイル: hints_layout.py プロジェクト: kblw/wot_client
def _convertHints(hintsList):
    return map(lambda hint: setattr(hint, 'hintText', text_styles.tutorial(hint.get('hintText', ''))), hintsList)
コード例 #22
0
def _convertHints(hintsList):
    return [
        setattr(hint, 'hintText',
                text_styles.tutorial(hint.get('hintText', '')))
        for hint in hintsList
    ]
コード例 #23
0
 def __getUnspentPointsStr(self, showSkillPoint):
     return text_styles.highlightText(EPIC_BATTLE.METAABILITYSCREEN_UNSPENT_POINTS) if showSkillPoint else text_styles.tutorial(EPIC_BATTLE.METAABILITYSCREEN_GET_SKILL_POINTS)
コード例 #24
0
def _convertHints(hintsList):
    return map(lambda hint: setattr(hint, "hintText", text_styles.tutorial(hint.get("hintText", ""))), hintsList)
コード例 #25
0
    def __updateFooter(self):
        chainState = self.__getChainState(self.getChain())
        isQuestInProgress = False
        btnVisible = False
        btnEnabled = False
        btnLabel = ''
        descr = ''
        currentOperation = self.getOperation()
        currentVehicleType = currentOperation.getChainVehicleClass(
            self.getChainID())
        vehicleClass = getTypeShortUserName(currentVehicleType)
        pm = self._eventsCache.personalMissions
        freeSheets = pm.getFreeTokensCount()
        pawnedSheets = pm.getPawnedTokensCount()
        if not chainState.hasUnlocked:
            status = text_styles.concatStylesWithSpace(
                icons.markerBlocked(),
                text_styles.error(PERSONAL_MISSIONS.STATUSPANEL_STATUS_LOCKED))
        elif chainState.questInProgress is not None:
            quest = chainState.questInProgress
            isQuestInProgress = True
            status = text_styles.concatStylesWithSpace(
                icons.inProgress(), text_styles.tutorial(quest.getUserName()))
            if quest.areTokensPawned():
                descr = text_styles.neutral(
                    _ms(PERSONAL_MISSIONS.STATUSPANEL_STATUS_PAWNED,
                        count=quest.getPawnCost(),
                        icon=icons.makeImageTag(
                            RES_ICONS.
                            MAPS_ICONS_PERSONALMISSIONS_SHEET_RECEIVED_SMALL,
                            16, 16, -3, 8)))
            elif quest.isMainCompleted():
                descr = text_styles.neutral(
                    PERSONAL_MISSIONS.STATUSPANEL_STATUS_IMPROVE)
            elif quest.canBePawned():
                btnVisible = True
                pawnCost = quest.getPawnCost()
                btnLabel = _ms(
                    PERSONAL_MISSIONS.STATUSPANEL_FREESHEETBTN_LABEL,
                    count=pawnCost,
                    icon=icons.makeImageTag(
                        RES_ICONS.
                        MAPS_ICONS_PERSONALMISSIONS_SHEET_RECEIVED_SMALL, 16,
                        16, -3, 8))
                if pawnCost <= freeSheets:
                    btnEnabled = True
        elif chainState.isFullCompleted:
            status = text_styles.concatStylesWithSpace(
                icons.checkmark(-2),
                text_styles.bonusAppliedText(
                    _ms(PERSONAL_MISSIONS.STATUSPANEL_STATUS_ALLEXCELLENTDONE,
                        vehicleClass=vehicleClass)))
        elif chainState.isCompleted:
            status = text_styles.concatStylesWithSpace(
                icons.checkmark(-2),
                text_styles.bonusAppliedText(
                    _ms(PERSONAL_MISSIONS.STATUSPANEL_STATUS_ALLDONE,
                        vehicleClass=vehicleClass)))
        elif not chainState.hasVehicle:
            status = text_styles.concatStylesWithSpace(
                icons.markerBlocked(),
                text_styles.error(
                    _ms(PERSONAL_MISSIONS.STATUSPANEL_STATUS_NOVEHICLE,
                        vehicleClass=vehicleClass)))
        else:
            status = text_styles.concatStylesWithSpace(
                icons.makeImageTag(
                    RES_ICONS.MAPS_ICONS_LIBRARY_ATTENTIONICONFILLED, 16, 16,
                    -2),
                text_styles.neutral(
                    PERSONAL_MISSIONS.STATUSPANEL_STATUS_SELECTTASK))

        def tankwomanFilter(quest):
            tankman, isMainBonus = quest.getTankmanBonus()
            return tankman and (quest.needToGetAddReward() and not isMainBonus
                                or quest.needToGetMainReward() and isMainBonus)

        tankwomanQuests = []
        for operation in pm.getOperations().itervalues():
            tankwomanQuests.extend(
                operation.getQuestsByFilter(tankwomanFilter).itervalues())

        counterText = ''
        tankwomanVisible = False
        if tankwomanQuests:
            counterText = text_styles.highlightText('x%s' %
                                                    len(tankwomanQuests))
            tankwomanVisible = True
        self.as_setStatusDataS({
            'statusText': status,
            'descrText': descr,
            'btnVisible': btnVisible,
            'btnEnabled': btnEnabled,
            'btnLabel': btnLabel,
            'sheetsBlockData': {
                'freeSheetsText':
                text_styles.main(
                    _ms(PERSONAL_MISSIONS.STATUSPANEL_FREESHEETS,
                        count=text_styles.highlightText(freeSheets))),
                'pawnedSheetsText':
                text_styles.main(
                    _ms(PERSONAL_MISSIONS.STATUSPANEL_PAWNEDSHEETS,
                        count=text_styles.highlightText(pawnedSheets))),
                'tooltipData': {
                    'isSpecial':
                    True,
                    'specialAlias':
                    TOOLTIPS_CONSTANTS.FREE_SHEET_RETURN if freeSheets
                    or pawnedSheets else TOOLTIPS_CONSTANTS.FREE_SHEET,
                    'specialArgs': []
                },
                'popover':
                PERSONAL_MISSIONS_ALIASES.FREE_SHEET_POPOVER
            },
            'tankgirlsBlockData': {
                'counterText': counterText,
                'visible': tankwomanVisible,
                'tooltipData': {
                    'isSpecial': True,
                    'specialAlias':
                    TOOLTIPS_CONSTANTS.PERSONAL_MISSIONS_TANKWOMAN,
                    'specialArgs': []
                },
                'popover': PERSONAL_MISSIONS_ALIASES.TANK_GIRLS_POPOVER
            },
            'tooltip': None,
            'isQuestInProgress': isQuestInProgress
        })
        return