def __packNationalFragmentBlocks(self):
     items = self._items
     self._setNationFlagCornerBg(self.__nationName)
     items.append(
         formatters.
         packImageTextBlockData(title=text_styles.highTitle(
             TOOLTIPS.BLUEPRINT_BLUEPRINTFRAGMENTTOOLTIP_NATIONALFRAGMENT),
                                img=RES_ICONS.getBlueprintFragment(
                                    'medium', self.__nationName),
                                imgPadding=formatters.packPadding(top=3),
                                txtPadding=formatters.packPadding(left=21)))
     self._items = [formatters.packBuildUpBlockData(blocks=items)]
     items = self._items
     nation = i18n.makeString(NATIONS.genetiveCase(self.__nationName))
     descriptionBlock = formatters.packImageTextBlockData(
         desc=text_styles.main(
             i18n.makeString(
                 TOOLTIPS.
                 BLUEPRINT_BLUEPRINTFRAGMENTTOOLTIP_NATIONALDESCRIPTION,
                 nation=nation)),
         img=RES_ICONS.MAPS_ICONS_BLUEPRINTS_PLUS,
         imgPadding=formatters.packPadding(top=0, right=5),
         padding=formatters.packPadding(left=40))
     items.append(
         formatters.packBuildUpBlockData(
             blocks=[descriptionBlock,
                     self.__packCompensationBlock()],
             gap=5,
             linkage=BLOCKS_TOOLTIP_TYPES.
             TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE))
     fragmentsCount = self.context.getUniversalCount(self._fragmentCD)
     items.append(self.__packInStorageBlock(fragmentsCount))
Пример #2
0
    def _getBonusSection(self, bonuses):
        hBlocks = []
        vBlocks = []
        for item in bonuses:
            if len(hBlocks) == 2:
                vBlocks.append(
                    formatters.packBuildUpBlockData(
                        blocks=hBlocks,
                        blockWidth=_GIFTS_WIDTH,
                        gap=5,
                        layout=BLOCKS_TOOLTIP_TYPES.LAYOUT_HORIZONTAL,
                        align=BLOCKS_TOOLTIP_TYPES.ALIGN_LEFT))
                hBlocks = []
            hBlocks.append(
                formatters.packImageTextBlockData(desc=text_styles.main(
                    item.text),
                                                  img=item.img,
                                                  blockWidth=130))

        vBlocks.append(
            formatters.packBuildUpBlockData(
                blocks=hBlocks,
                blockWidth=_GIFTS_WIDTH,
                gap=5,
                layout=BLOCKS_TOOLTIP_TYPES.LAYOUT_HORIZONTAL,
                align=BLOCKS_TOOLTIP_TYPES.ALIGN_LEFT))
        return formatters.packBuildUpBlockData(
            blocks=vBlocks,
            blockWidth=_PREVIEW_TOOLTIP_WIDTH,
            padding=formatters.packPadding(top=-25, left=42),
            layout=BLOCKS_TOOLTIP_TYPES.LAYOUT_VERTICAL,
            align=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER)
Пример #3
0
 def _packBlocks(self, boosterID, *args, **kwargs):
     items = super(BoosterTooltipData, self)._packBlocks(*args, **kwargs)
     booster = self.context.buildItem(boosterID)
     statsFields = self.context.getStatsConfiguration(booster)
     items.append(
         formatters.packBuildUpBlockData([
             formatters.packTitleDescBlock(
                 text_styles.highTitle(booster.fullUserName),
                 desc=text_styles.main(booster.description)),
             formatters.packImageBlockData(
                 img=booster.bigTooltipIcon,
                 align=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER,
                 width=180,
                 height=180,
                 padding={
                     'top': -14,
                     'bottom': -14
                 })
         ]))
     items.append(self.__packDueDate(booster))
     if statsFields.quests:
         questsResult = self.__getBoosterQuestNames(boosterID)
         if questsResult:
             items.append(self.__packAccessCondition(questsResult))
     if statsFields.buyPrice and booster.buyPrices:
         priceBlock = self.__getBoosterPrice(booster)
         items.append(formatters.packBuildUpBlockData(priceBlock))
     if statsFields.activeState and booster.inCooldown:
         items.append(self.__packActiveState(booster.getUsageLeftTimeStr()))
     return items
Пример #4
0
 def _packBlocks(self, *args, **kwargs):
     self.item = self.context.buildItem(*args, **kwargs)
     self.__shieldStatus = self.rankedController.getShieldStatus(self.item)
     topPaddingText = formatters.packPadding(top=-5)
     items = super(RankedTooltipData, self)._packBlocks()
     isVehicleRank = self.__isForVehicleRank()
     if isVehicleRank:
         items.append(self.__packVehTitle())
     else:
         items.append(self.__packTitle())
         items.append(
             formatters.packBuildUpBlockData([
                 formatters.packRankBlockData(
                     rank=self.item,
                     shieldStatus=self.__shieldStatus,
                     padding=formatters.packPadding(top=10, bottom=15))
             ]))
     quest = self.item.getQuest()
     if quest is not None:
         items.append(
             formatters.packBuildUpBlockData(
                 self._packAwardsBlock(quest), 0, BLOCKS_TOOLTIP_TYPES.
                 TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE, topPaddingText))
     bottomBlocks = [self.__buildStatusBlock()]
     if not isVehicleRank:
         bottomBlocks.append(
             formatters.packTextBlockData(self.__packStepsBlock()))
     items.append(formatters.packBuildUpBlockData(bottomBlocks))
     return items
Пример #5
0
 def _packBlocks(self, *args, **kwargs):
     items = super(ResearchTreePacker, self)._packBlocks(*args, **kwargs)
     imgPdg = {'left': 12,
      'top': 30}
     txtGap = 2
     blocksGap = 12
     items.append(formatters.packBuildUpBlockData([formatters.packImageTextBlockData(title=text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TECHBLOCK_COMMONTECH_TITLE), desc=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TECHBLOCK_COMMONTECH_DESCRIPTION), img=RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_COMMONTANK, imgPadding=imgPdg, txtGap=txtGap, imgAtLeft=False), formatters.packImageTextBlockData(title=text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TECHBLOCK_PREMIUMTECH_TITLE), desc=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TECHBLOCK_PREMIUMTECH_DESCRIPTION), img=RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_PREMTANK, imgPadding=imgPdg, txtGap=txtGap, imgAtLeft=False)], blocksGap, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE))
     imgPdg = {'left': 12,
      'top': 3}
     txtOffset = 34
     txtGap = 0
     blocksGap = 2
     items.append(formatters.packBuildUpBlockData([formatters.packTextBlockData(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TYPESBLOCK_TITLE)),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TYPESBLOCK_LIGHTTANK), img=RES_ICONS.MAPS_ICONS_VEHICLETYPES_LIGHTTANK, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TYPESBLOCK_MEDIUMTANK), img=RES_ICONS.MAPS_ICONS_VEHICLETYPES_MEDIUMTANK, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TYPESBLOCK_HEAVYTANK), img=RES_ICONS.MAPS_ICONS_VEHICLETYPES_HEAVYTANK, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TYPESBLOCK_AT_SPG), img=RES_ICONS.MAPS_ICONS_VEHICLETYPES_AT_SPG, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TYPESBLOCK_SPG), img=RES_ICONS.MAPS_ICONS_VEHICLETYPES_SPG, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset)], blocksGap))
     imgPdg = {'left': 3,
      'top': 2}
     txtOffset = 82
     txtGap = 0
     blocksGap = 8
     items.append(formatters.packBuildUpBlockData([formatters.packTextBlockData(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_BUTTONSBLOCK_TITLE)),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_BUTTONSBLOCK_RESEARCH), img=RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_RESEARCHBUTTON, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_BUTTONSBLOCK_BUY), img=RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_BUYBUTTON, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_BUTTONSBLOCK_INHANGAR), img=RES_ICONS.MAPS_ICONS_LIBRARY_COMPLETEDINDICATOR, imgPadding={'left': 3,
       'top': -3}, txtGap=txtGap, txtOffset=txtOffset)], blocksGap))
     return items
Пример #6
0
    def _packBlocks(self, skillID, level=None):
        items = super(EpicSkillBaseTooltipData, self)._packBlocks()
        skillInfo = self._epicMetaGameCtrl.getAllSkillsInformation().get(
            skillID)
        skillLevel = skillInfo.levels.get(1) if skillInfo else None
        if skillInfo is None or skillLevel is None:
            return items
        else:
            items.append(
                formatters.packBuildUpBlockData(
                    self._constructHeader(skillLevel),
                    padding=formatters.packPadding(top=4, bottom=-1)))
            items.append(
                formatters.packBuildUpBlockData(
                    self.__constructDescr(skillLevel),
                    padding=formatters.packPadding(top=-5, bottom=-8),
                    linkage=BLOCKS_TOOLTIP_TYPES.
                    TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE))
            statBlocks = self.__constructStatsBlock(skillInfo)
            for i, _ in enumerate(statBlocks):
                linkage = BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE if i == 1 else BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_LINKAGE
                items.append(
                    formatters.packBuildUpBlockData(statBlocks[i],
                                                    linkage=linkage))

            realLevel = self._epicMetaGameCtrl.getSkillLevels().get(skillID)
            if not realLevel:
                items.append(
                    formatters.packBuildUpBlockData(
                        self.__constructInactiveStateBlock(skillInfo),
                        padding=formatters.packPadding(top=-6, bottom=-21)))
            return items
Пример #7
0
 def _packBlocks(self, *args, **kwargs):
     items = super(VehCompareModuleBlockTooltipData, self)._packBlocks()
     module = self.context.buildItem(*args, **kwargs)
     statsConfig = self.context.getStatsConfiguration(module)
     paramsConfig = self.context.getParamsConfiguration(module)
     statusConfig = self.context.getStatusConfiguration(module)
     leftPadding = 20
     rightPadding = 20
     topPadding = 20
     blockTopPadding = -4
     blockPadding = formatters.packPadding(left=leftPadding, right=rightPadding, top=blockTopPadding)
     textGap = -2
     valueWidth = 110
     items.append(formatters.packBuildUpBlockData(HeaderBlockConstructor(module, statsConfig, leftPadding, rightPadding).construct(), padding=formatters.packPadding(left=leftPadding, right=rightPadding, top=topPadding)))
     if module.itemTypeID in GUI_ITEM_TYPE.ARTEFACTS:
         effectsBlock = EffectsBlockConstructor(module, statusConfig, leftPadding, rightPadding).construct()
         if len(effectsBlock) > 0:
             items.append(formatters.packBuildUpBlockData(effectsBlock, padding=blockPadding, linkage=BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE))
     priceBlock, invalidWidth = PriceBlockConstructor(module, statsConfig, valueWidth, leftPadding, rightPadding).construct()
     if priceBlock:
         self._setWidth(_TOOLTIP_MAX_WIDTH if invalidWidth else _TOOLTIP_MIN_WIDTH)
         items.append(formatters.packBuildUpBlockData(priceBlock, padding=blockPadding, gap=textGap))
     statsModules = GUI_ITEM_TYPE.VEHICLE_MODULES + (GUI_ITEM_TYPE.OPTIONALDEVICE,)
     if module.itemTypeID in statsModules:
         commonStatsBlock = CommonStatsBlockConstructor(module, paramsConfig, statsConfig.slotIdx, valueWidth, leftPadding, rightPadding, False).construct()
         if commonStatsBlock:
             items.append(formatters.packBuildUpBlockData(commonStatsBlock, padding=blockPadding, gap=textGap))
     return items
Пример #8
0
 def _packBlocks(self, *args, **kwargs):
     self.item = self.context.buildItem(*args, **kwargs)
     items = super(ShellBlockToolTipData, self)._packBlocks()
     shell = self.item
     statsConfig = self.context.getStatsConfiguration(shell)
     paramsConfig = self.context.getParamsConfiguration(shell)
     statusConfig = self.context.getStatusConfiguration(shell)
     leftPadding = 20
     rightPadding = 20
     topPadding = 20
     lrPaddings = formatters.packPadding(left=leftPadding, right=rightPadding)
     blockTopPadding = -4
     blockPadding = formatters.packPadding(left=leftPadding, right=rightPadding, top=blockTopPadding)
     textGap = -2
     items.append(formatters.packBuildUpBlockData(HeaderBlockConstructor(shell, statsConfig, leftPadding, rightPadding).construct(), padding=formatters.packPadding(left=leftPadding, right=rightPadding, top=topPadding)))
     priceBlock, invalidWidth = PriceBlockConstructor(shell, statsConfig, 80, leftPadding, rightPadding).construct()
     if len(priceBlock) > 0:
         self._setWidth(_TOOLTIP_MAX_WIDTH if invalidWidth else _TOOLTIP_MIN_WIDTH)
         items.append(formatters.packBuildUpBlockData(priceBlock, padding=blockPadding, gap=textGap))
     statsBlock = CommonStatsBlockConstructor(shell, paramsConfig, 80, leftPadding, rightPadding).construct()
     if len(statsBlock) > 0:
         items.append(formatters.packBuildUpBlockData(statsBlock, padding=blockPadding, gap=textGap))
     statusBlock = StatusBlockConstructor(shell, statusConfig, leftPadding, rightPadding).construct()
     if len(statusBlock) > 0:
         items.append(formatters.packBuildUpBlockData(statusBlock, padding=lrPaddings))
     return items
 def _packBlocks(self, *args, **kwargs):
     self.item = self.context.buildItem(*args, **kwargs)
     items = super(BattleConsumableTooltipData, self)._packBlocks()
     statsConfig = self.context.getStatsConfiguration(self.item)
     paramsConfig = self.context.getParamsConfiguration(self.item)
     leftPadding = 20
     rightPadding = 20
     topPadding = 20
     textGap = -2
     items.append(
         formatters.packBuildUpBlockData(
             HeaderBlockConstructor(self.item, statsConfig, leftPadding,
                                    rightPadding).construct(),
             padding=formatters.packPadding(left=leftPadding,
                                            right=rightPadding,
                                            top=topPadding)))
     items.append(
         formatters.packBuildUpBlockData(
             CommonStatsBlockConstructor(self.item, paramsConfig, 80,
                                         leftPadding,
                                         rightPadding).construct(),
             padding=formatters.packPadding(left=leftPadding,
                                            right=rightPadding),
             gap=textGap))
     return items
Пример #10
0
 def _packBlocks(self, *args, **kwargs):
     items = super(ResearchTreePacker, self)._packBlocks(*args, **kwargs)
     imgPdg = {'left': 12,
      'top': 30}
     txtGap = 2
     blocksGap = 12
     items.append(formatters.packBuildUpBlockData([formatters.packImageTextBlockData(title=text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TECHBLOCK_COMMONTECH_TITLE), desc=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TECHBLOCK_COMMONTECH_DESCRIPTION), img=RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_COMMONTANK, imgPadding=imgPdg, txtGap=txtGap, imgAtLeft=False), formatters.packImageTextBlockData(title=text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TECHBLOCK_PREMIUMTECH_TITLE), desc=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TECHBLOCK_PREMIUMTECH_DESCRIPTION), img=RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_PREMTANK, imgPadding=imgPdg, txtGap=txtGap, imgAtLeft=False)], blocksGap, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE))
     imgPdg = {'left': 12,
      'top': 3}
     txtOffset = 34
     txtGap = 0
     blocksGap = 2
     items.append(formatters.packBuildUpBlockData([formatters.packTextBlockData(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TYPESBLOCK_TITLE)),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TYPESBLOCK_LIGHTTANK), img=RES_ICONS.MAPS_ICONS_VEHICLETYPES_LIGHTTANK, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TYPESBLOCK_MEDIUMTANK), img=RES_ICONS.MAPS_ICONS_VEHICLETYPES_MEDIUMTANK, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TYPESBLOCK_HEAVYTANK), img=RES_ICONS.MAPS_ICONS_VEHICLETYPES_HEAVYTANK, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TYPESBLOCK_AT_SPG), img=RES_ICONS.MAPS_ICONS_VEHICLETYPES_AT_SPG, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_TYPESBLOCK_SPG), img=RES_ICONS.MAPS_ICONS_VEHICLETYPES_SPG, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset)], blocksGap))
     imgPdg = {'left': 3,
      'top': 2}
     txtOffset = 82
     txtGap = 0
     blocksGap = 8
     items.append(formatters.packBuildUpBlockData([formatters.packTextBlockData(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_BUTTONSBLOCK_TITLE)),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_BUTTONSBLOCK_RESEARCH), img=RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_RESEARCHBUTTON, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_BUTTONSBLOCK_BUY), img=RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_BUYBUTTON, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCHTREE_BUTTONSBLOCK_INHANGAR), img=RES_ICONS.MAPS_ICONS_LIBRARY_COMPLETEDINDICATOR, imgPadding={'left': 3,
       'top': -3}, txtGap=txtGap, txtOffset=txtOffset)], blocksGap))
     return items
Пример #11
0
 def _packBlocks(self, *args, **kwargs):
     items = super(PersonalMissionsMapRegionTooltipData, self)._packBlocks()
     self.quest = self._getPersonalMission(*args, **kwargs)
     if self.quest:
         isMain = None
         if not self.quest.isMainCompleted():
             isMain = True
         conditions = PMTooltipConditionsFormatters().format(self.quest, isMain)
         orConditions = filter(lambda q: q.isInOrGroup, conditions)
         andConditions = filter(lambda q: not q.isInOrGroup, conditions)
         self._hasOrCondition = bool(orConditions)
         blocksData = []
         blocksData.append(self._getTitleBlock())
         blocksData.append(self._getConditionsTitleBlock())
         if not self._hasOrCondition:
             blocksData.append(self._getAndConditionsBlock(andConditions, padding=formatters.packPadding(bottom=22)))
             items.append(formatters.packBuildUpBlockData(blocksData))
         else:
             items.append(formatters.packBuildUpBlockData(blocksData))
             items.append(self._getOrConditionBlock(orConditions))
             if andConditions:
                 items.append(self._getAndConditionsBlock(andConditions, padding=formatters.packPadding(top=-13, bottom=22)))
         items.append(self._getAwardsBlock(self.quest))
         items.append(self._getStatusBlock(self.quest))
     return items
Пример #12
0
    def _packBlocks(self, *args, **kwargs):
        blocks = super(BasicFreeSheetTooltip,
                       self)._packBlocks(*args, **kwargs)
        campaign = self.context.buildItem(*args, **kwargs)
        topItems = [
            formatters.packTextBlockData(
                text_styles.highTitle(
                    _ms(TOOLTIPS.PERSONALMISSIONS_FREESHEET_TITLE,
                        campaignName=campaign.getUserName()))),
            formatters.packImageBlockData(
                AwardSheetPresenter.getIcon(AwardSheetPresenter.Size.BIG),
                BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER,
                padding=formatters.packPadding(top=-5, bottom=11))
        ]
        blocks.append(formatters.packBuildUpBlockData(topItems))
        infoBlock = self._getInfoBlock()
        if infoBlock is not None:
            blocks.append(infoBlock)
        bottomItems = []
        for block in self._getDescriptionBlock():
            if block is not None:
                bottomItems.append(block)

        blocks.append(formatters.packBuildUpBlockData(bottomItems))
        return blocks
 def _packBlocks(self, *args, **kwargs):
     self.item, currentModule = self.context.buildItem(*args, **kwargs)
     items = super(BattleRoyaleModulesTooltip, self)._packBlocks()
     module = self.item
     if module is None:
         return []
     else:
         leftPadding = 20
         rightPadding = 20
         topPadding = 20
         textGap = -2
         headerBlock = HeaderBlockConstructor.construct(module)
         items.append(
             formatters.packBuildUpBlockData(headerBlock,
                                             padding=formatters.packPadding(
                                                 left=leftPadding,
                                                 right=rightPadding,
                                                 top=topPadding)))
         paramsBlock = ParamsBlockConstructor.construct(
             module, currentModule, self._getVehicle())
         if paramsBlock:
             items.append(
                 formatters.packBuildUpBlockData(
                     paramsBlock,
                     padding=formatters.packPadding(left=leftPadding,
                                                    top=2),
                     gap=textGap))
         return items
Пример #14
0
 def _packBlocks(self, *args, **kwargs):
     self.item = self.context.buildItem(*args, **kwargs)
     self.__shieldStatus = self.item.getShieldStatus()
     topPaddingText = formatters.packPadding(top=-5)
     items = super(RankedTooltipData, self)._packBlocks()
     items.append(self.__packTitle())
     comment = self.__packComment()
     if comment is not None:
         items.append(comment)
     items.append(
         formatters.packBuildUpBlockData([
             formatters.packRankBlockData(rank=self.item,
                                          padding=formatters.packPadding(
                                              top=10, bottom=15))
         ]))
     if self.item.isQualification():
         quest = self.__getQualificationQuest()
     else:
         quest = self.item.getQuest()
     if quest is not None:
         items.append(
             formatters.packBuildUpBlockData(
                 self.__packAwardsBlock(quest), 0, BLOCKS_TOOLTIP_TYPES.
                 TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE, topPaddingText))
     bottomBlocks = self.__packStatusBlock()
     items.append(formatters.packBuildUpBlockData(bottomBlocks))
     return items
 def _packBlocks(self, *args, **kwargs):
     self._items = super(BattlePassPointsTooltipData,
                         self)._packBlocks(*args, **kwargs)
     titleBlock = formatters.packTitleDescBlock(title=text_styles.highTitle(
         backport.text(
             R.strings.battle_pass.tooltips.battlePassPoints.title())))
     imageBlock = formatters.packImageBlockData(img=backport.image(
         R.images.gui.maps.icons.battlePass.tooltips.battlePassPoints()),
                                                align=BLOCKS_TOOLTIP_TYPES.
                                                ALIGN_CENTER)
     titleImageBlock = formatters.packBuildUpBlockData(
         [titleBlock, imageBlock])
     self._items.append(titleImageBlock)
     descriptionBlock = text_styles.main(
         backport.text(
             R.strings.battle_pass.tooltips.battlePassPoints.description()))
     self._items.append(formatters.packTextBlockData(descriptionBlock))
     state = self.__battlePassController.getState()
     if state == BattlePassState.COMPLETED:
         self._items.append(
             formatters.packBuildUpBlockData(
                 [
                     formatters.packImageTextBlockData(
                         title=text_styles.success(
                             backport.text(R.strings.battle_pass.tooltips.
                                           battlePassPoints.completed())),
                         img=backport.image(
                             R.images.gui.maps.icons.library.check()),
                         imgPadding=formatters.packPadding(top=-2))
                 ],
                 linkage=BLOCKS_TOOLTIP_TYPES.
                 TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE,
                 padding=formatters.packPadding(bottom=-10)))
     return self._items
 def _packConversionFormulaBlock(self, intelRequired, nationRequired,
                                 nationName, vehicleCD):
     if intelRequired > self.context.getUniversalCount():
         intelText = text_styles.errCurrencyTextBig(str(intelRequired))
     else:
         intelText = text_styles.expTextBig(str(intelRequired))
     if nationRequired > self.context.getUniversalCount(vehicleCD):
         nationText = text_styles.errCurrencyTextBig(str(nationRequired))
     else:
         nationText = text_styles.expTextBig(str(nationRequired))
     countBlockInt = formatters.packImageTextBlockData(
         title=None,
         desc=intelText,
         img=RES_ICONS.MAPS_ICONS_BLUEPRINTS_FRAGMENT_MEDIUM_INTELLIGENCE,
         imgAtLeft=False,
         imgPadding=formatters.packPadding(top=0, right=5),
         txtPadding=formatters.packPadding(top=8, left=5),
         padding=formatters.packPadding(top=0))
     countBlockNation = formatters.packImageTextBlockData(
         title=None,
         desc=nationText,
         img=RES_ICONS.getBlueprintFragment('medium', nationName),
         imgAtLeft=False,
         imgPadding=formatters.packPadding(top=0, right=5),
         txtPadding=formatters.packPadding(top=8, left=5),
         padding=formatters.packPadding(top=0))
     countPlus = formatters.packImageBlockData(
         img=RES_ICONS.MAPS_ICONS_BLUEPRINTS_BLUEPRINTSCREEN_ICPLUS,
         align=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER,
         padding=formatters.packPadding(left=10, right=0, top=12))
     countEqual = formatters.packImageBlockData(
         img=RES_ICONS.MAPS_ICONS_BLUEPRINTS_BLUEPRINTSCREEN_ICEQUAL,
         align=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER,
         padding=formatters.packPadding(left=8, right=8, top=12))
     countPrint = formatters.packImageTextBlockData(
         title=None,
         desc=text_styles.main(
             TOOLTIPS.BLUEPRINT_VEHICLEBLUEPRINTTOOLTIP_GATHERDESCRIPTION2),
         img=RES_ICONS.MAPS_ICONS_BLUEPRINTS_FRAGMENT_MEDIUM_VEHICLE,
         imgPadding=formatters.packPadding(top=0, right=5),
         txtPadding=formatters.packPadding(top=4, left=5),
         padding=formatters.packPadding(top=0))
     imageHowBlock = formatters.packBuildUpBlockData(
         blocks=[
             countBlockInt, countPlus, countBlockNation, countEqual,
             countPrint
         ],
         gap=5,
         layout=BLOCKS_TOOLTIP_TYPES.LAYOUT_HORIZONTAL,
         padding=formatters.packPadding(top=8))
     textOrBlock = formatters.packTextBetweenLineBlockData(
         text=text_styles.main(
             TOOLTIPS.BLUEPRINT_VEHICLEBLUEPRINTTOOLTIP_OR))
     return formatters.packBuildUpBlockData(
         blocks=[textOrBlock, imageHowBlock],
         align=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER,
         gap=5,
         padding=formatters.packPadding(bottom=-20))
Пример #17
0
 def _packBlocks(self, *args, **kwargs):
     items = super(ResearchVehicleInfoPacker,
                   self)._packBlocks(*args, **kwargs)
     imgPdg = {'left': 2, 'top': 3}
     txtOffset = 25
     blocksGap = 7
     txtGap = -4
     items.append(
         formatters.packBuildUpBlockData([
             formatters.packTitleDescBlockSmallTitle(
                 text_styles.middleTitle(
                     TOOLTIPS.HANGARTUTORIAL_RESEARCH_VEHICLEINFO_EXPTITLE),
                 text_styles.main(
                     TOOLTIPS.
                     HANGARTUTORIAL_RESEARCH_VEHICLEINFO_EXPDESCRIPTION)),
             formatters.packBuildUpBlockData([
                 formatters.packImageTextBlockData(
                     text_styles.main(
                         TOOLTIPS.
                         HANGARTUTORIAL_RESEARCH_VEHICLEINFO_BATTLEEXPTITLE
                     ),
                     text_styles.standard(
                         TOOLTIPS.
                         HANGARTUTORIAL_RESEARCH_VEHICLEINFO_BATTLEEXPDESCRIPTION
                     ),
                     RES_ICONS.MAPS_ICONS_LIBRARY_NORMALXPICON,
                     imgPdg,
                     txtOffset=txtOffset,
                     txtGap=txtGap),
                 formatters.packImageTextBlockData(
                     text_styles.main(
                         TOOLTIPS.
                         HANGARTUTORIAL_RESEARCH_VEHICLEINFO_FREEEXPTITLE),
                     text_styles.standard(
                         TOOLTIPS.
                         HANGARTUTORIAL_RESEARCH_VEHICLEINFO_FREEEXPDESCRIPTION
                     ),
                     RES_ICONS.MAPS_ICONS_LIBRARY_FREEXPICON_2, {
                         'left': 1,
                         'top': 3
                     },
                     txtOffset=txtOffset,
                     txtGap=txtGap),
                 formatters.packImageTextBlockData(
                     text_styles.main(
                         TOOLTIPS.
                         HANGARTUTORIAL_RESEARCH_VEHICLEINFO_TOTALEXPTITLE),
                     '',
                     RES_ICONS.MAPS_ICONS_LIBRARY_POWERLEVELICON_1,
                     imgPdg,
                     txtOffset=txtOffset,
                     txtGap=txtGap)
             ],
                                             gap=12)
         ], blocksGap, BLOCKS_TOOLTIP_TYPES.
                                         TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE
                                         ))
     return items
 def _packBlocks(self, skillID, level=None):
     items = super(EpicSkillBaseTooltipData, self)._packBlocks()
     realLevel = int(level) if level else self._epicMetaGameCtrl.getSkillLevels().get(skillID, None)
     skillLevel = self._epicMetaGameCtrl.getAllSkillsInformation()[skillID].levels[realLevel if realLevel else 1]
     items.append(formatters.packBuildUpBlockData(self._constructHeader(skillLevel, realLevel), padding=formatters.packPadding(top=4, bottom=-1)))
     items.append(formatters.packBuildUpBlockData(self.__constructDescr(skillLevel), padding=formatters.packPadding(top=-5, bottom=-8), linkage=BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE))
     if not realLevel:
         items.append(formatters.packBuildUpBlockData(self.__constructInactiveStateBlock(), padding=formatters.packPadding(top=-6, bottom=-21)))
     return items
 def _packBlocks(self, *args):
     tooltipBlocks = super(ReserveTooltipData, self)._packBlocks()
     reserves = self._getData().getReserve()
     isPlayerLegionary = self._getEntity().getPlayerInfo().isLegionary()
     reserveId = args[0]
     reserve = reserves.getReserveById(reserveId)
     reserveName = getReserveNameVO(reserve.getType())
     reserveLevel = reserve.getLevel()
     selected = reserve in reserves.getSelectedReserves()
     reserveCount = reserves.getReserveCount(reserve.getType(),
                                             reserve.getLevel())
     if selected:
         reserveCount -= 1
     if reserve.intCD is None:
         _logger.error('%s intCD is None! Check wgsh version on staging.',
                       reserveName)
         return tooltipBlocks
     else:
         item = self.context.buildItem(reserve.intCD)
         tooltipBlocks.append(
             self.__getHeaderBlock(item, reserveName, reserveLevel,
                                   reserveCount, isPlayerLegionary))
         tooltipBlocks.append(
             formatters.packBuildUpBlockData(
                 self.__getMainParamsBlock(reserveName, item),
                 padding=formatters.packPadding(left=10,
                                                right=10,
                                                top=-4,
                                                bottom=-2),
                 linkage=BLOCKS_TOOLTIP_TYPES.
                 TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE,
                 gap=-2,
                 blockWidth=450))
         tooltipBlocks.append(
             formatters.packBuildUpBlockData(
                 self.__getAdditionalParamsBlock(reserve),
                 padding=formatters.packPadding(left=10,
                                                right=10,
                                                top=-4,
                                                bottom=-2),
                 gap=-2))
         if selected:
             status = R.strings.fortifications.reserves.tooltip.selected()
         else:
             status = R.strings.fortifications.reserves.tooltip.readyToSelect(
             )
         tooltipBlocks.append(
             formatters.packAlignedTextBlockData(
                 text_styles.statInfo(backport.text(status)),
                 align=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER,
                 blockWidth=430,
                 padding=formatters.packPadding(left=10,
                                                right=10,
                                                top=-7,
                                                bottom=-7)))
         return tooltipBlocks
Пример #20
0
 def _packBlocks(self, *args, **kwargs):
     return [
         formatters.packBuildUpBlockData(
             blocks=self.__getHeader(),
             layout=BLOCKS_TOOLTIP_TYPES.LAYOUT_VERTICAL),
         formatters.packBuildUpBlockData(
             blocks=self.__getInfo(),
             linkage=BLOCKS_TOOLTIP_TYPES.
             TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE)
     ]
Пример #21
0
 def _packBlocks(self, *args, **kwargs):
     items = super(VehCompareModuleBlockTooltipData, self)._packBlocks()
     module = self.context.buildItem(*args, **kwargs)
     statsConfig = self.context.getStatsConfiguration(module)
     paramsConfig = self.context.getParamsConfiguration(module)
     statusConfig = self.context.getStatusConfiguration(module)
     leftPadding = 20
     rightPadding = 20
     topPadding = 20
     blockTopPadding = -4
     blockPadding = formatters.packPadding(left=leftPadding,
                                           right=rightPadding,
                                           top=blockTopPadding)
     textGap = -2
     valueWidth = 110
     items.append(
         formatters.packBuildUpBlockData(
             HeaderBlockConstructor(module, statsConfig, leftPadding,
                                    rightPadding).construct(),
             padding=formatters.packPadding(left=leftPadding,
                                            right=rightPadding,
                                            top=topPadding)))
     if module.itemTypeID in GUI_ITEM_TYPE.ARTEFACTS:
         effectsBlock = EffectsBlockConstructor(module, statusConfig,
                                                leftPadding,
                                                rightPadding).construct()
         if len(effectsBlock) > 0:
             items.append(
                 formatters.packBuildUpBlockData(
                     effectsBlock,
                     padding=blockPadding,
                     linkage=BLOCKS_TOOLTIP_TYPES.
                     TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE))
     priceBlock, invalidWidth = PriceBlockConstructor(
         module, statsConfig, valueWidth, leftPadding,
         rightPadding).construct()
     if priceBlock:
         self._setWidth(
             _TOOLTIP_MAX_WIDTH if invalidWidth else _TOOLTIP_MIN_WIDTH)
         items.append(
             formatters.packBuildUpBlockData(priceBlock,
                                             padding=blockPadding,
                                             gap=textGap))
     statsModules = GUI_ITEM_TYPE.VEHICLE_MODULES + (
         GUI_ITEM_TYPE.OPTIONALDEVICE, )
     if module.itemTypeID in statsModules:
         commonStatsBlock = CommonStatsBlockConstructor(
             module, paramsConfig, statsConfig.slotIdx, valueWidth,
             leftPadding, rightPadding, False).construct()
         if commonStatsBlock:
             items.append(
                 formatters.packBuildUpBlockData(commonStatsBlock,
                                                 padding=blockPadding,
                                                 gap=textGap))
     return items
Пример #22
0
 def _packBlocks(self, *args, **kwargs):
     items = super(CrewSkinSoundTooltipDataBlock, self)._packBlocks()
     tankman = self.context.buildItem(*args, **kwargs).tankman
     topBlock = []
     topBlock.append(
         formatters.packTextBlockData(text=text_styles.middleTitle(
             backport.text(R.strings.tooltips.crewSkins.sound()))))
     topBlock.append(
         formatters.packTextBlockData(text=text_styles.main(
             backport.text(R.strings.tooltips.crewSkins.soundHeader()))))
     if tankman.role != Tankman.ROLES.COMMANDER:
         topBlock.append(
             formatters.packImageTextBlockData(
                 img=RES_ICONS.MAPS_ICONS_LIBRARY_ALERTBIGICON,
                 imgPadding={
                     'left': -3,
                     'top': -2
                 },
                 txtOffset=20,
                 padding=formatters.packPadding(bottom=0, top=8, left=0),
                 desc=text_styles.alert(
                     backport.text(R.strings.tooltips.crewSkins.
                                   soundWarningDescr2()))))
     elif not SoundGroups.g_instance.soundModes.currentNationalPreset[1]:
         topBlock.append(
             formatters.packImageTextBlockData(
                 img=RES_ICONS.MAPS_ICONS_LIBRARY_ALERTBIGICON,
                 imgPadding={
                     'left': -3,
                     'top': -2
                 },
                 txtOffset=20,
                 padding=formatters.packPadding(bottom=0, top=8, left=0),
                 desc=text_styles.alert(
                     backport.text(R.strings.tooltips.crewSkins.
                                   soundWarningDescr1()))))
     items.append(formatters.packBuildUpBlockData(topBlock))
     infoBlock = []
     infoBlock.append(
         formatters.packImageTextBlockData(
             img=RES_ICONS.MAPS_ICONS_LIBRARY_INFO,
             imgPadding={
                 'left': -3,
                 'top': -2
             },
             txtOffset=20,
             desc=text_styles.stats(
                 backport.text(R.strings.tooltips.crewSkins.soundInfo()))))
     infoBlock.append(
         formatters.packTextBlockData(text=text_styles.main(
             backport.text(R.strings.tooltips.crewSkins.soundInfoDescr())),
                                      padding=formatters.packPadding(
                                          left=20)))
     items.append(formatters.packBuildUpBlockData(infoBlock))
     return items
Пример #23
0
 def _packBlocks(self):
     blocks = super(BasicFreeSheetTooltip, self)._packBlocks()
     topItems = [formatters.packTextBlockData(text_styles.highTitle(TOOLTIPS.PERSONALMISSIONS_FREESHEET_TITLE)), formatters.packImageBlockData(RES_ICONS.MAPS_ICONS_PERSONALMISSIONS_FREE_SHEET_BIG, BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER, padding=formatters.packPadding(top=-5, bottom=11))]
     blocks.append(formatters.packBuildUpBlockData(topItems))
     infoBlock = self._getInfoBlock()
     if infoBlock is not None:
         blocks.append(infoBlock)
     bottomItems = []
     map(lambda block: (bottomItems.append(block) if block is not None else None), self._getDescriptionBlock())
     blocks.append(formatters.packBuildUpBlockData(bottomItems))
     return blocks
Пример #24
0
 def getCycleStatusTooltipPack(self):
     items = []
     season = self.__currentController.getCurrentSeason(
     ) or self.__currentController.getNextSeason()
     levelInfo = self.getPlayerLevelInfo()
     cycleNumber = self.getCurrentOrNextActiveCycleNumber(season)
     seasonStr = backport.text(self.__progressionNameCycleTxtId,
                               season=int2roman(cycleNumber))
     seasonDescr = text_styles.middleTitle(seasonStr)
     items.append(
         formatters.packTextBlockData(text=seasonDescr,
                                      useHtml=True,
                                      padding=formatters.packPadding(
                                          left=20, right=20)))
     currentCycle = season.getCycleInfo()
     tDiff = currentCycle.endDate - time_utils.getCurrentLocalServerTimestamp(
     ) if currentCycle is not None else 0
     timeLeft = text_styles.main(getTimeToLeftStr(tDiff))
     items.append(
         formatters.packTextBlockData(text=timeLeft,
                                      useHtml=True,
                                      padding=formatters.packPadding(
                                          left=20, right=20)))
     linkage = BLOCKS_TOOLTIP_TYPES.TOOLTIP_BATTLE_ROYALE_META_LEVEL_BLOCK_LINKAGE if self.isSteelHunter else BLOCKS_TOOLTIP_TYPES.TOOLTIP_EPIC_BATTLE_META_LEVEL_BLOCK_LINKAGE
     items.append(
         formatters.packBuildUpBlockData(
             blocks=[
                 formatters.packBlockDataItem(
                     linkage=linkage,
                     data=getProgressionIconVODict(
                         cycleNumber=cycleNumber,
                         playerLevel=levelInfo.currentLevel))
             ],
             layout=BLOCKS_TOOLTIP_TYPES.LAYOUT_HORIZONTAL,
             align=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER))
     items.append(getLevelData(levelInfo.currentLevel))
     if levelInfo.currentLevel < self.getMaxPlayerLevel():
         items.append(
             self.__getCurrentMaxProgress(
                 playerLevel=levelInfo.currentLevel,
                 playerFamePts=levelInfo.levelProgress))
         items.append(
             self.__getPlayerProgressToLevelBlock(
                 playerLevel=levelInfo.currentLevel,
                 playerFamePts=levelInfo.levelProgress))
     else:
         unlockedStr = backport.text(
             R.strings.tooltips.eventProgression.unlockedDailyMissions())
         items.append(
             formatters.packTextBlockData(
                 text=text_styles.main(unlockedStr),
                 useHtml=True,
                 padding=formatters.packPadding(left=20, right=20, top=-7)))
     return formatters.packBuildUpBlockData(items)
Пример #25
0
 def _packBlocks(self, *args, **kwargs):
     self.item = self.context.buildItem(*args, **kwargs)
     items = super(BattleConsumableTooltipData, self)._packBlocks()
     statsConfig = self.context.getStatsConfiguration(self.item)
     paramsConfig = self.context.getParamsConfiguration(self.item)
     leftPadding = 20
     rightPadding = 20
     topPadding = 20
     textGap = -2
     items.append(formatters.packBuildUpBlockData(HeaderBlockConstructor(self.item, statsConfig, leftPadding, rightPadding).construct(), padding=formatters.packPadding(left=leftPadding, right=rightPadding, top=topPadding)))
     items.append(formatters.packBuildUpBlockData(CommonStatsBlockConstructor(self.item, paramsConfig, 80, leftPadding, rightPadding).construct(), padding=formatters.packPadding(left=leftPadding, right=rightPadding), gap=textGap))
     return items
Пример #26
0
 def _packBlocks(self, *args, **kwargs):
     blocks = super(MapboxCalendarTooltip, self)._packBlocks(args, kwargs)
     blocks.append(
         formatters.packBuildUpBlockData([
             self.__packHeader(),
             self.__packTimeTableHeaderBlock(),
             formatters.packBuildUpBlockData(
                 packCalendarBlock(self.__mapboxCtrl,
                                   time_utils.getCurrentTimestamp(),
                                   SELECTOR_BATTLE_TYPES.MAPBOX))
         ]))
     return blocks
Пример #27
0
 def _packBlocks(self, paramName):
     blocks = super(VehicleAdvancedParametersTooltipData, self)._packBlocks(paramName)
     self.__paramName = self._extendedData.name
     bonuses, hasSituational = self._getBonuses()
     self._packListBlock(blocks, bonuses, text_styles.warning(_ms(TOOLTIPS.VEHICLEPARAMS_BONUSES_TITLE)))
     penalties = self._getPenalties()
     self._packListBlock(blocks, penalties, text_styles.critical(_ms(TOOLTIPS.VEHICLEPARAMS_PENALTIES_TITLE)))
     if self._extendedData.inactiveBonuses:
         blocks.append(formatters.packBuildUpBlockData(self._getFootNoteBlock('inactive'), padding=0))
     if hasSituational:
         blocks.append(formatters.packBuildUpBlockData(self._getFootNoteBlock('optional'), padding=0))
     return blocks
Пример #28
0
    def _packBlocks(self, chainID):
        personalMissions = dependency.instance(
            IEventsCache).getPersonalMissions()
        operation = first(
            personalMissions.getOperationsForBranch(
                PM_BRANCH.PERSONAL_MISSION_2).values())
        blocks = [
            formatters.packImageTextBlockData(
                title=text_styles.highTitle(operation.getChainName(chainID)),
                desc=text_styles.standard(
                    operation.getChainDescription(chainID)),
                img=RES_ICONS.getAlliance54x54Icon(chainID),
                imgPadding=formatters.packPadding(top=3, left=-5),
                txtOffset=78)
        ]
        nations = getNationsForChain(operation, chainID)
        nationBlocks = []
        separator = '   '
        for nation in GUI_NATIONS:
            if nation in nations:
                icon = icons.makeImageTag(getNationsFilterAssetPath(nation),
                                          26, 16, -4)
                nationName = text_styles.main(NATIONS.all(nation))
                nationBlocks.append(
                    formatters.packTextBlockData(
                        text_styles.concatStylesToSingleLine(
                            icon, separator, nationName)))

        blocks.append(
            formatters.packBuildUpBlockData(
                nationBlocks,
                linkage=BLOCKS_TOOLTIP_TYPES.
                TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE,
                padding=formatters.packPadding(left=40)))
        allianceID = operation.getAllianceID(chainID)
        blocks.append(
            formatters.packBuildUpBlockData([
                formatters.packTextBlockData(
                    text_styles.middleTitle(
                        PERSONAL_MISSIONS.CHAINTOOLTIPDATA_DESCRIPTION_TITLE),
                    padding=formatters.packPadding(bottom=4)),
                formatters.packTextBlockData(
                    text_styles.main(
                        PERSONAL_MISSIONS.getAllianceChainTooltipDescr(
                            allianceID)),
                    padding=formatters.packPadding(bottom=7))
            ],
                                            padding=formatters.packPadding(
                                                top=-7, bottom=-3)))
        return blocks
Пример #29
0
 def _packBlocks(self, *args, **kwargs):
     module = vehicles.g_cache.equipments()[args[0]]
     if module is None:
         return
     else:
         items = super(EquipmentsTooltipData, self)._packBlocks()
         leftPadding = 20
         rightPadding = 20
         topPadding = 20
         verticalPadding = 2
         innerBlockLeftPadding = 100
         headerBlockItem = [
             formatters.packBuildUpBlockData(
                 self.__constructHeaderBlock(module, leftPadding,
                                             innerBlockLeftPadding),
                 padding=formatters.packPadding(left=leftPadding,
                                                right=rightPadding,
                                                top=topPadding,
                                                bottom=verticalPadding))
         ]
         cooldownBlock = self.__constructCooldownBlock(
             module, verticalPadding, innerBlockLeftPadding)
         if cooldownBlock is not None:
             headerBlockItem.append(cooldownBlock)
         items.append(formatters.packBuildUpBlockData(headerBlockItem))
         items.append(
             formatters.packBuildUpBlockData(
                 self.__constructDescriptionBlock(module, leftPadding),
                 linkage=BLOCKS_TOOLTIP_TYPES.
                 TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE,
                 padding=formatters.packPadding(left=leftPadding,
                                                right=rightPadding,
                                                top=verticalPadding,
                                                bottom=verticalPadding)))
         items.append(
             formatters.packTextBlockData(text=text_styles.standard(
                 backport.text(
                     R.strings.tooltips.battle_royale.artefact.source())),
                                          padding=formatters.packPadding(
                                              left=innerBlockLeftPadding,
                                              top=verticalPadding)))
         if hasattr(module, 'tooltipMovie') and module.tooltipMovie:
             block = formatters.packImageBlockData(
                 module.tooltipMovie,
                 BLOCKS_TOOLTIP_TYPES.ALIGN_LEFT,
                 padding=5,
                 linkage=BLOCKS_TOOLTIP_TYPES.
                 TOOLTIP_ADVANCED_CLIP_BLOCK_LINKAGE)
             items.append(block)
         return items
Пример #30
0
 def _packBlocks(self, *args, **kwargs):
     items = super(BonusTooltipData, self)._packBlocks()
     headerBlocks = [formatters.packImageTextBlockData(title=text_styles.highTitle(backport.text(R.strings.tooltips.battleTypes.ranked.bonusBattle.title())), img=backport.image(R.images.gui.maps.icons.rankedBattles.bonusIcons.c_48x48()), txtPadding=formatters.packPadding(left=20), titleAtMiddle=True, padding=formatters.packPadding(left=30, top=14))]
     items.append(formatters.packBuildUpBlockData(headerBlocks, stretchBg=False, linkage=BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_NORMAL_VEHICLE_BG_LINKAGE, padding=formatters.packPadding(left=-20, top=-12, bottom=-6)))
     statsComposer = self.__rankedController.getStatsComposer()
     persistentCount = statsComposer.persistentBonusBattles
     items.append(self.__packPersistentCount(persistentCount))
     dailyCount = statsComposer.dailyBonusBattles
     if dailyCount > 0:
         income = statsComposer.dailyBonusBattlesIncome
         items.append(self.__packDailyCount(dailyCount, income))
     descriptionBlock = [formatters.packTextBlockData(text_styles.main(backport.text(R.strings.tooltips.battleTypes.ranked.bonusBattle.description())), padding=formatters.packPadding(top=-6))]
     items.append(formatters.packBuildUpBlockData(descriptionBlock))
     return items
Пример #31
0
 def _packBlocks(self, isCurfewEnabled, timeLimits, serverName = None):
     title = TOOLTIPS.FORTIFICATION_SORTIE_LISTROOM_REGULATION_HEADER_CURFEW if isCurfewEnabled else TOOLTIPS.FORTIFICATION_SORTIE_LISTROOM_REGULATION_HEADER_INFO
     items = super(FortListViewTooltipData, self)._packBlocks()
     items.append(formatters.packTitleDescBlock(text_styles.highTitle(title), desc=text_styles.main(self._descr) if self._descr else None))
     blocksGap = 2
     mainBlock = self._packMainBlock(serverName, timeLimits)
     limits = timeLimits
     timeBlock = []
     _packTimeLimitsBlock(timeBlock, limits)
     if len(timeBlock) > 0:
         mainBlock.append(formatters.packBuildUpBlockData(timeBlock, 0))
     items.append(formatters.packBuildUpBlockData(mainBlock, blocksGap, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE))
     items.append(formatters.packBuildUpBlockData([formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.FORTIFICATION_SORTIE_LISTROOM_REGULATION_FOOTER))], blocksGap))
     return items
Пример #32
0
 def _packBlocks(self, isCurfewEnabled, timeLimits, serverName = None):
     title = TOOLTIPS.FORTIFICATION_SORTIE_LISTROOM_REGULATION_HEADER_CURFEW if isCurfewEnabled else TOOLTIPS.FORTIFICATION_SORTIE_LISTROOM_REGULATION_HEADER_INFO
     items = super(FortListViewTooltipData, self)._packBlocks()
     items.append(formatters.packTitleDescBlock(text_styles.highTitle(title), desc=text_styles.main(self._descr) if self._descr else None))
     blocksGap = 2
     mainBlock = self._packMainBlock(serverName, timeLimits)
     limits = timeLimits
     timeBlock = []
     _packTimeLimitsBlock(timeBlock, limits)
     if len(timeBlock) > 0:
         mainBlock.append(formatters.packBuildUpBlockData(timeBlock, 0))
     items.append(formatters.packBuildUpBlockData(mainBlock, blocksGap, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE))
     items.append(formatters.packBuildUpBlockData([formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.FORTIFICATION_SORTIE_LISTROOM_REGULATION_FOOTER))], blocksGap))
     return items
Пример #33
0
 def _packVehicleBlock(self, vehicleIntCD):
     vehicle = self.itemsCache.items.getItemByCD(int(vehicleIntCD))
     statsConfig = self.context.getStatsConfiguration(vehicle)
     paramsConfig = self.context.getParamsConfiguration(vehicle)
     leftPadding = 20
     rightPadding = 20
     blockTopPadding = -4
     leftRightPadding = formatters.packPadding(left=leftPadding,
                                               right=rightPadding)
     blockPadding = formatters.packPadding(left=leftPadding,
                                           right=rightPadding,
                                           top=blockTopPadding)
     valueWidth = 75
     textGap = -2
     vehicleBlock = list()
     vehicleBlock.append(
         formatters.packBuildUpBlockData(HeaderBlockConstructor(
             vehicle, statsConfig, leftPadding, rightPadding).construct(),
                                         padding=leftRightPadding))
     telecomBlock = TelecomBlockConstructor(vehicle, valueWidth,
                                            leftPadding,
                                            rightPadding).construct()
     if telecomBlock:
         vehicleBlock.append(formatters.packBuildUpBlockData(telecomBlock))
     if not vehicle.isRotationGroupLocked:
         commonStatsBlock = CommonStatsBlockConstructor(
             vehicle, paramsConfig, valueWidth, leftPadding,
             rightPadding).construct()
         if commonStatsBlock:
             vehicleBlock.append(
                 formatters.packBuildUpBlockData(commonStatsBlock,
                                                 gap=textGap,
                                                 padding=blockPadding))
     footnoteBlock = FootnoteBlockConstructor(vehicle, paramsConfig,
                                              leftPadding,
                                              rightPadding).construct()
     if footnoteBlock:
         vehicleBlock.append(
             formatters.packBuildUpBlockData(footnoteBlock,
                                             gap=textGap,
                                             padding=blockPadding))
     vehicleBlock.append(
         formatters.packBuildUpBlockData(AdditionalStatsBlockConstructor(
             vehicle, paramsConfig, self.context.getParams(), valueWidth,
             leftPadding, rightPadding).construct(),
                                         gap=textGap,
                                         padding=blockPadding))
     return vehicleBlock
 def __packVehicleFragmentBlocks(self):
     vehicle, blueprintData, _ = self.context.getVehicleBlueprintData(
         self._fragmentCD)
     if blueprintData is None:
         return
     else:
         items = self._items
         self._setNationFlagCornerBg(vehicle.nationName)
         items.append(
             formatters.packImageTextBlockData(
                 title=text_styles.highTitle(
                     TOOLTIPS.
                     BLUEPRINT_BLUEPRINTFRAGMENTTOOLTIP_FRAGMENTHEADER),
                 desc=self._getVehicleDescrStr(vehicle),
                 img=RES_ICONS.getBlueprintFragment('medium', 'vehicle'),
                 imgPadding=formatters.packPadding(top=3),
                 txtPadding=formatters.packPadding(left=21)))
         self._items = [formatters.packBuildUpBlockData(blocks=items)]
         items = self._items
         percentDiscount, xpDiscount = self.context.getFragmentDiscounts(
             vehicle)
         items.append(
             formatters.packBuildUpBlockData(
                 blocks=[
                     self._getUnlockDiscountBlock(
                         percentDiscount, xpDiscount, TOOLTIPS.
                         BLUEPRINT_VEHICLEBLUEPRINTTOOLTIP_RESEARCHDISCOUNT,
                         True)
                 ],
                 linkage=BLOCKS_TOOLTIP_TYPES.
                 TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE,
                 padding=formatters.packPadding(left=67)))
         gatheredInfoStr = text_styles.concatStylesWithSpace(
             text_styles.stats(int(blueprintData.filledCount)),
             text_styles.main(' '.join(
                 ('/', str(blueprintData.totalCount)))),
             text_styles.main(
                 TOOLTIPS.
                 BLUEPRINT_BLUEPRINTFRAGMENTTOOLTIP_FRAGMENTGATHERED))
         items.append(
             formatters.packTextBlockData(
                 text=gatheredInfoStr,
                 padding=formatters.packPadding(left=67)))
         items.append(
             formatters.packTextBlockData(text=text_styles.main(
                 TOOLTIPS.
                 BLUEPRINT_BLUEPRINTFRAGMENTTOOLTIP_FRAGMENTDESCRIPTION)))
         return
Пример #35
0
 def _packAppliedToVehicles(self, data):
     subBlocks = [formatters.packTextBlockData(text=text_styles.middleTitle('#vehicle_customization:customization/tooltip/applied/title'))]
     allowedVehicles = data['allowedVehicles']
     notAllowedVehicles = data['notAllowedVehicles']
     allowedNations = data['allowedNations']
     notAllowedNations = data['notAllowedNations']
     allowedVehicles = map(lambda vId: g_itemsCache.items.getItemByCD(vId), allowedVehicles)
     notAllowedVehicles = map(lambda vId: g_itemsCache.items.getItemByCD(vId), notAllowedVehicles)
     allowedVehicles = filter(lambda vehicle: not vehicle.isSecret, allowedVehicles)
     notAllowedVehicles = filter(lambda vehicle: not vehicle.isSecret, notAllowedVehicles)
     if data['boundToCurrentVehicle']:
         description = _ms('#tooltips:customization/questAward/currentVehicle')
     elif allowedVehicles:
         description = self._getVehiclesNames(allowedVehicles)
     else:
         if allowedNations:
             if len(allowedNations) > len(notAllowedNations):
                 description = _ms('#vehicle_customization:customization/tooltip/applied/allNations')
                 description += _ms('#vehicle_customization:customization/tooltip/applied/elementsSeparator')
                 description += _ms('#vehicle_customization:customization/tooltip/applied/excludeNations', nations=self._getNationNames(notAllowedNations))
             else:
                 description = _ms('#vehicle_customization:customization/tooltip/applied/vehicleNation', nation=self._getNationNames(allowedNations))
         elif self._item.getNationID() == ANY_NATION:
             description = _ms('#vehicle_customization:customization/tooltip/applied/allNations')
         else:
             description = _ms('#vehicle_customization:customization/tooltip/applied/vehicleNation', nation=self._getNationNames([self._item.getNationID()]))
         if notAllowedVehicles:
             description += _ms('#vehicle_customization:customization/tooltip/applied/elementsSeparator')
             description += _ms('#vehicle_customization:customization/tooltip/applied/excludeVehicles', vehicles=self._getVehiclesNames(notAllowedVehicles))
     subBlocks.append(formatters.packTextBlockData(text_styles.main(description)))
     return formatters.packBuildUpBlockData(subBlocks, 0, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_LINKAGE)
Пример #36
0
 def _makeLockBlock(self):
     clanLockTime = self.vehicle.clanLock
     if clanLockTime and clanLockTime <= time_utils.getCurrentTimestamp():
         LOG_DEBUG("clan lock time is less than current time: %s" % clanLockTime)
         clanLockTime = None
     isDisabledInRoaming = self.vehicle.isDisabledInRoaming
     if clanLockTime or isDisabledInRoaming:
         headerLock = text_styles.concatStylesToMultiLine(text_styles.warning(_ms(TOOLTIPS.TANKCARUSEL_LOCK_HEADER)))
         if isDisabledInRoaming:
             textLock = text_styles.main(_ms(TOOLTIPS.TANKCARUSEL_LOCK_ROAMING))
         else:
             time = time_utils.getDateTimeFormat(clanLockTime)
             timeStr = text_styles.main(text_styles.concatStylesWithSpace(_ms(TOOLTIPS.TANKCARUSEL_LOCK_TO), time))
             textLock = text_styles.concatStylesToMultiLine(
                 timeStr, text_styles.main(_ms(TOOLTIPS.TANKCARUSEL_LOCK_CLAN))
             )
         lockHeaderBlock = formatters.packTextBlockData(
             headerLock, padding=formatters.packPadding(left=77 + self.leftPadding, top=5)
         )
         lockTextBlock = formatters.packTextBlockData(
             textLock, padding=formatters.packPadding(left=77 + self.leftPadding)
         )
         return formatters.packBuildUpBlockData(
             [lockHeaderBlock, lockTextBlock],
             stretchBg=False,
             linkage=BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_LOCK_BG_LINKAGE,
             padding=formatters.packPadding(left=-17, top=20, bottom=0),
         )
     else:
         return
         return
Пример #37
0
 def _packMainBlock(self, serverName, timeLimits):
     blocksGap = 20
     blocksList = [formatters.packImageTextBlockData(title=text_styles.main(i18n.makeString(TOOLTIPS.FORTIFICATION_SORTIE_LISTROOM_REGULATION_SERVERLIMIT, server=text_styles.error(serverName))))]
     if timeLimits:
         blocksList.append(formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.FORTIFICATION_SORTIE_LISTROOM_REGULATION_SERVERLIMITTIMEDESCR)))
     mainBlock = [formatters.packBuildUpBlockData(blocksList, blocksGap)]
     return mainBlock
Пример #38
0
 def _packBlocks(self, boosterID, *args, **kwargs):
     items = super(BoosterTooltipData, self)._packBlocks(*args, **kwargs)
     booster = self.context.buildItem(boosterID)
     statsFields = self.context.getStatsConfiguration(booster)
     items.append(formatters.packBuildUpBlockData([formatters.packTitleDescBlock(text_styles.highTitle(booster.fullUserName), desc=text_styles.main(booster.description)), formatters.packImageBlockData(img=booster.bigTooltipIcon, align=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER, width=180, height=180, padding={'top': -14,
       'bottom': -14})]))
     items.append(self.__packDueDate(booster))
     if statsFields.quests:
         questsResult = self.__getBoosterQuestNames(boosterID)
         if len(questsResult):
             items.append(self.__packAccessCondition(questsResult))
     if statsFields.buyPrice and booster.buyPrice:
         priceBlock = self.__getBoosterPrice(booster)
         items.append(formatters.packBuildUpBlockData(priceBlock))
     if statsFields.activeState and booster.inCooldown:
         items.append(self.__packActiveState(booster.getUsageLeftTimeStr()))
     return items
Пример #39
0
 def _packBlocks(self, *args, **kwargs):
     items = super(PersonalCaseAdditionalPacker, self)._packBlocks(*args, **kwargs)
     blocksGap = 10
     items.append(formatters.packBuildUpBlockData([formatters.packTitleDescBlock(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_ADDITIONAL_RECORDTITLE), text_styles.main(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_ADDITIONAL_RECORDDESCRIPTION)),
      formatters.packTitleDescBlock(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_ADDITIONAL_TRAININGTITLE), text_styles.main(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_ADDITIONAL_TRAININGDESCRIPTION)),
      formatters.packTitleDescBlock(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_ADDITIONAL_PERKSTITLE), text_styles.main(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_ADDITIONAL_PERKSDESCRIPTION)),
      formatters.packTitleDescBlock(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_ADDITIONAL_DOCUMENTSTITLE), text_styles.main(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_ADDITIONAL_DOCUMENTSDESCRIPTION))], blocksGap))
     return items
Пример #40
0
 def _packBlocks(self, *args, **kwargs):
     items = super(PersonalCasePerksPacker, self)._packBlocks(*args, **kwargs)
     blocksGap = 2
     imgPdg = {'left': 0,
      'right': 10,
      'top': 4}
     txtGap = 0
     items.append(formatters.packBuildUpBlockData([formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_PERKS_NEWPERKTITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_PERSONALCASE_PERKS_NEWPERKDESCRIPTION), RES_COMMON.MAPS_ICONS_TANKMEN_SKILLS_BIG_NEW_SKILL, imgPdg, txtGap=txtGap)], blocksGap, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE))
     return items
Пример #41
0
    def _packBlocks(self, *args, **kwargs):
        items = super(NationsPacker, self)._packBlocks(*args, **kwargs)
        nationItems = []
        for nation in GUI_NATIONS:
            nationItems.append(formatters.packImageTextBlockData(desc=text_styles.main('#tooltips:hangarTutorial/nations/%s' % nation), img='../maps/icons/filters/nations/%s.png' % nation, imgPadding={'left': 4,
             'top': 4}, txtGap=1, txtOffset=36))

        items.append(formatters.packBuildUpBlockData(nationItems, 2))
        return items
Пример #42
0
 def pack(self, data):
     items = super(LinerItemPacker, self).pack(data)
     values = data.get('values', None)
     discript = data.get('discript', None)
     if values is not None and discript is not None:
         blocks = [formatters.packTextParameterBlockData(discript, values)]
         blockToInsert = formatters.packBuildUpBlockData(blocks)
         items.append(blockToInsert)
     return items
Пример #43
0
    def _packBonusBlock(self, customizationTypeData, title):
        subBlocks = [formatters.packTextBlockData(text=text_styles.middleTitle(_ms(title)), padding={'bottom': 2})]
        for bonus in customizationTypeData:
            bonusPartDescription = text_styles.main(bonus['title'])
            if bonus['isTemporarily']:
                bonusPartDescription += '\n' + text_styles.standard('*' + bonus['description'])
            subBlocks.append(formatters.packTextParameterBlockData(name=bonusPartDescription, value=bonus['power'], padding={'bottom': 8}, valueWidth=45))

        return formatters.packBuildUpBlockData(subBlocks, 0, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_LINKAGE, {'left': 3})
Пример #44
0
 def _packDurationBlock(self):
     subBlocks = [formatters.packTextBlockData(text=text_styles.middleTitle('#vehicle_customization:timeLeft/title'))]
     if self.__isPermanent:
         duration = _ms('#vehicle_customization:timeLeft/infinity')
     else:
         dimension = _ms('#vehicle_customization:timeLeft/temporal/days')
         duration = _ms('#vehicle_customization:timeLeft/temporal/used', time=self.__duration / 60 / 60 / 24, dimension=dimension)
     subBlocks.append(formatters.packTextBlockData(text_styles.main(duration)))
     return formatters.packBuildUpBlockData(subBlocks, 0, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_LINKAGE)
Пример #45
0
 def _packHiddenBlock(self):
     subBlocks = []
     if self._hideRented:
         subBlocks.append(formatters.packTextParameterWithIconBlockData(name=text_styles.main(TANK_CAROUSEL_FILTER.INFOTIP_RENT), value='', icon=ICON_TEXT_FRAMES.RENTALS, padding=formatters.packPadding(left=-50, top=-3, bottom=-18), nameOffset=20))
     if self._hideEvent:
         icon = icons.makeImageTag(RES_ICONS.MAPS_ICONS_BATTLETYPES_40X40_EVENT, width=22, height=22, vSpace=-8)
         text = text_styles.main(TANK_CAROUSEL_FILTER.INFOTIP_EVENT)
         subBlocks.append(formatters.packTextBlockData(text='{}      {}'.format(icon, text), padding=formatters.packPadding(left=6, top=5, bottom=0)))
     return formatters.packBuildUpBlockData(subBlocks, linkage=BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE)
Пример #46
0
 def _packDescriptionBlock(self, customizationType):
     return formatters.packBuildUpBlockData(
         [
             formatters.packImageTextBlockData(
                 img=customizationType["img"], desc=customizationType["description"], imgPadding={"right": 10}
             )
         ],
         0,
         BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE,
     )
Пример #47
0
 def _packBlocks(self, *args, **kwargs):
     items = super(AmmunitionPacker, self)._packBlocks(*args, **kwargs)
     imgPdg = {'left': 0,
      'top': 4}
     txtOffset = 56
     txtGap = -5
     blocksGap = 10
     items.append(formatters.packBuildUpBlockData([formatters.packTextBlockData(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_TYPE_TITLE)),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_TYPE_PIERCING_TITLE), desc=text_styles.standard(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_TYPE_PIERCING_DESCRIPTION), img=RES_ICONS.MAPS_ICONS_AMMOPANEL_AMMO_ARMOR_PIERCING, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_TYPE_HIGH_EXPLOSIVE_TITLE), desc=text_styles.standard(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_TYPE_HIGH_EXPLOSIVE_DESCRIPTION), img=RES_ICONS.MAPS_ICONS_AMMOPANEL_AMMO_HIGH_EXPLOSIVE, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_TYPE_SUBCALIBER_TITLE), desc=text_styles.standard(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_TYPE_SUBCALIBER_DESCRIPTION), img=RES_ICONS.MAPS_ICONS_AMMOPANEL_AMMO_ARMOR_PIERCING_CR, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_TYPE_CUMULATIVE_TITLE), desc=text_styles.standard(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_TYPE_CUMULATIVE_DESCRIPTION), img=RES_ICONS.MAPS_ICONS_AMMOPANEL_AMMO_HOLLOW_CHARGE, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset)], blocksGap, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE))
     imgPdg = {'left': 0,
      'top': 0}
     txtOffset = 0
     txtGap = 0
     blocksGap = 0
     items.append(formatters.packBuildUpBlockData([formatters.packTitleDescBlockSmallTitle(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_AMMOSET_TITLE), text_styles.main(TOOLTIPS.HANGARTUTORIAL_AMMUNITION_AMMOSET_DESCRIPTION)), formatters.packImageTextBlockData(img=RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_AMMOSLIDER, imgPadding=imgPdg, txtGap=txtGap, txtOffset=txtOffset)], blocksGap))
     return items
Пример #48
0
 def _packBlocks(self, compensationValue):
     title = TOOLTIPS.FORTIFICATION_POPOVER_DEFRESPROGRESS_HEADER
     items = super(FortPopoverDefResTooltipData, self)._packBlocks()
     items.append(formatters.packTitleDescBlock(text_styles.highTitle(title), desc=text_styles.main(self._descr)))
     if compensationValue is not None:
         blocksGap = 12
         compensationHeader = text_styles.main(TOOLTIPS.FORTIFICATION_POPOVER_DEFRESPROGRESS_COMPENSATION_HEADER) + text_styles.alert('+' + compensationValue) + icons.nut()
         compensationBody = text_styles.standard(TOOLTIPS.FORTIFICATION_POPOVER_DEFRESPROGRESS_COMPENSATION_BODY)
         items.append(formatters.packBuildUpBlockData([formatters.packTextBlockData(text_styles.concatStylesToMultiLine(compensationHeader, compensationBody))], blocksGap, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE))
     return items
Пример #49
0
 def _packBlocks(self, *args, **kwargs):
     items = super(CustomizationTypesPacker, self)._packBlocks(*args, **kwargs)
     imgPdg = {'left': 3,
      'right': 8,
      'top': -4}
     txtGap = -4
     items.append(formatters.packBuildUpBlockData([formatters.packTitleDescBlockSmallTitle(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_CAMOUFLAGEBLOCKTITLE), text_styles.main(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_CAMOUFLAGEBLOCKDESCRIPTION)), formatters.packBuildUpBlockData([formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_WINTERCAMOUFLAGETITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_WINTERCAMOUFLAGEDESCRIPTION), RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_WINTER, imgPdg, txtGap=txtGap), formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_SUMMERCAMOUFLAGETITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_SUMMERCAMOUFLAGEDESCRIPTION), RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_SUMMER, imgPdg, txtGap=txtGap), formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_DESERTCAMOUFLAGETITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_DESERTCAMOUFLAGEDESCRIPTION), RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_DESERT, imgPdg, txtGap=txtGap)], gap=5)], gap=13))
     items.append(formatters.packTitleDescBlockSmallTitle(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_EMBLEMBLOCKTITLE), text_styles.main(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_EMBLEMBLOCKDESCRIPTION)))
     items.append(formatters.packTitleDescBlockSmallTitle(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_LABELSBLOCKTITLE), text_styles.main(TOOLTIPS.HANGARTUTORIAL_CUSTOMIZATION_TYPES_LABELSBLOCKDESCRIPTION)))
     return items
Пример #50
0
 def _packBlocks(self, *args, **kwargs):
     items = super(ResearchModulesPackerEx, self)._packBlocks(*args, **kwargs)
     blocksGap = 3
     imgPdg = {'top': 3}
     txtOffset = 75
     items.append(formatters.packBuildUpBlockData([formatters.packTextBlockData(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_ACTIONBUTTONSTITLE)),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_RESEARCHBUTTONDESCRIPTION), img=RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_RESEARCHBUTTON, imgPadding=imgPdg, txtOffset=txtOffset),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_BUYBUTTONDESCRIPTION), img=RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_BUYBUTTON, imgPadding=imgPdg, txtOffset=txtOffset),
      formatters.packImageTextBlockData(title=text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_INHANGARDESCRIPTION), img=RES_ICONS.MAPS_ICONS_LIBRARY_COMPLETEDINDICATOR, imgPadding={'top': -3}, txtOffset=txtOffset)], blocksGap))
     return items
Пример #51
0
 def _packBlocks(self, *args, **kwargs):
     items = super(ResearchVehicleInfoPacker, self)._packBlocks(*args, **kwargs)
     imgPdg = {'left': 2,
      'top': 3}
     txtOffset = 25
     blocksGap = 7
     txtGap = -4
     items.append(formatters.packBuildUpBlockData([formatters.packTitleDescBlockSmallTitle(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_RESEARCH_VEHICLEINFO_EXPTITLE), text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_VEHICLEINFO_EXPDESCRIPTION)), formatters.packBuildUpBlockData([formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_VEHICLEINFO_BATTLEEXPTITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_RESEARCH_VEHICLEINFO_BATTLEEXPDESCRIPTION), RES_ICONS.MAPS_ICONS_LIBRARY_NORMALXPICON, imgPdg, txtOffset=txtOffset, txtGap=txtGap), formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_VEHICLEINFO_FREEEXPTITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_RESEARCH_VEHICLEINFO_FREEEXPDESCRIPTION), RES_ICONS.MAPS_ICONS_LIBRARY_FREEXPICON_2, {'left': 1,
        'top': 3}, txtOffset=txtOffset, txtGap=txtGap), formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_VEHICLEINFO_TOTALEXPTITLE), '', RES_ICONS.MAPS_ICONS_LIBRARY_POWERLEVELICON_1, imgPdg, txtOffset=txtOffset, txtGap=txtGap)], gap=12)], blocksGap, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE))
     return items
Пример #52
0
    def _packAlreadyHaveBlock(self, item):
        subBlocks = [formatters.packTextBlockData(text=text_styles.middleTitle(_ms(VEHICLE_CUSTOMIZATION.CUSTOMIZATION_TOOLTIP_ALREADYHAVE_TITLE)), padding={'bottom': 6})]
        padding = {'left': 10}
        for buyItem in item['buyItems']:
            buyItemDesc = text_styles.main(buyItem['desc'])
            if buyItem['type'] == BUY_ITEM_TYPE.ALREADY_HAVE_IGR:
                subBlocks.append(formatters.packTextParameterBlockData(name=buyItemDesc, value=icons.premiumIgrSmall(), padding=padding))
            else:
                subBlocks.append(formatters.packTextParameterBlockData(name=buyItemDesc, value='', padding=padding))

        return formatters.packBuildUpBlockData(subBlocks, 0, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_LINKAGE, {'left': 3})
Пример #53
0
    def _packAlreadyHaveBlock(self, data):
        subBlocks = [formatters.packTextBlockData(text=text_styles.middleTitle(_ms('#vehicle_customization:customization/tooltip/alreadyHave/title')), padding={'bottom': 6})]
        padding = {'left': 10}
        for buyItem in data['buyItems']:
            buyItemDesc = text_styles.main(buyItem['desc'])
            if buyItem['type'] == BUY_ITEM_TYPE.ALREADY_HAVE_IGR:
                subBlocks.append(formatters.packTextParameterBlockData(name=buyItemDesc, value=icons.premiumIgrSmall(), padding=padding))
            else:
                subBlocks.append(formatters.packTextParameterBlockData(name=buyItemDesc, value='', padding=padding))

        return formatters.packBuildUpBlockData(subBlocks, 0, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_LINKAGE, {'left': 3})
Пример #54
0
 def _packBlocks(self, *args, **kwargs):
     self.item = self.context.buildItem(*args, **kwargs)
     items = super(VehicleInfoTooltipData, self)._packBlocks()
     vehicle = self.item
     statsConfig = self.context.getStatsConfiguration(vehicle)
     paramsConfig = self.context.getParamsConfiguration(vehicle)
     statusConfig = self.context.getStatusConfiguration(vehicle)
     leftPadding = 20
     rightPadding = 0
     valueWidth = 60
     if vehicle.type == 'heavyTank':
         valueWidth = 75
     textGap = -2
     items.append(formatters.packBuildUpBlockData(HeaderBlockConstructor(vehicle, statsConfig, leftPadding, rightPadding).construct()))
     telecomBlock = TelecomBlockConstructor(vehicle, valueWidth, leftPadding, rightPadding).construct()
     if telecomBlock.__len__() > 0:
         items.append(formatters.packBuildUpBlockData(telecomBlock))
     priceBlock = PriceBlockConstructor(vehicle, statsConfig, valueWidth, leftPadding, rightPadding).construct()
     if priceBlock.__len__() > 0:
         items.append(formatters.packBuildUpBlockData(priceBlock, gap=textGap))
     items.append(formatters.packBuildUpBlockData(CommonStatsBlockConstructor(vehicle, paramsConfig, valueWidth, leftPadding, rightPadding).construct(), gap=textGap))
     items.append(formatters.packBuildUpBlockData(AdditionalStatsBlockConstructor(vehicle, paramsConfig, valueWidth, leftPadding, rightPadding).construct(), gap=textGap))
     statusBlock = StatusBlockConstructor(vehicle, statusConfig).construct()
     if statusBlock is not None:
         items.append(formatters.packBuildUpBlockData(statusBlock))
     else:
         self._setContentMargin(bottom=20)
     return items
Пример #55
0
    def _packWayToBuyBlock(self, item):
        subBlocks = [
            formatters.packTextBlockData(
                text=text_styles.middleTitle(_ms(VEHICLE_CUSTOMIZATION.CUSTOMIZATION_TOOLTIP_WAYTOBUY_TITLE)),
                padding={"bottom": 6},
            )
        ]
        padding = {"left": 0}
        for buyItem in item["buyItems"]:
            buyItemDesc = text_styles.main(buyItem["desc"])
            if buyItem["type"] == BUY_ITEM_TYPE.WAYS_TO_BUY_FOREVER:
                if buyItem["isSale"]:
                    subBlocks.append(
                        formatters.packSaleTextParameterBlockData(
                            name=buyItemDesc, saleData={"newPrice": (0, buyItem["value"])}, padding=padding
                        )
                    )
                else:
                    price = text_styles.concatStylesWithSpace(
                        text_styles.gold(BigWorld.wg_getIntegralFormat(long(buyItem["value"]))), icons.gold()
                    )
                    subBlocks.append(
                        formatters.packTextParameterBlockData(name=buyItemDesc, value=price, valueWidth=70)
                    )
            elif buyItem["type"] == BUY_ITEM_TYPE.WAYS_TO_BUY_TEMP:
                if buyItem["isSale"]:
                    subBlocks.append(
                        formatters.packSaleTextParameterBlockData(
                            name=buyItemDesc, saleData={"newPrice": (buyItem["value"], 0)}, padding=padding
                        )
                    )
                else:
                    price = text_styles.concatStylesWithSpace(
                        text_styles.credits(BigWorld.wg_getIntegralFormat(long(buyItem["value"]))), icons.credits()
                    )
                    subBlocks.append(
                        formatters.packTextParameterBlockData(name=buyItemDesc, value=price, valueWidth=70)
                    )
            elif buyItem["type"] == BUY_ITEM_TYPE.WAYS_TO_BUY_IGR:
                subBlocks.append(
                    formatters.packTextParameterBlockData(
                        name=buyItemDesc, value=icons.premiumIgrSmall(), padding=padding
                    )
                )
            elif buyItem["type"] == BUY_ITEM_TYPE.WAYS_TO_BUY_MISSION:
                subBlocks.append(
                    formatters.packTextParameterBlockData(name=buyItemDesc, value=icons.quest(), padding=padding)
                )

        return formatters.packBuildUpBlockData(
            subBlocks, 0, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_LINKAGE, {"left": 3}
        )
Пример #56
0
 def _packBlocks(self, boosterID, *args, **kwargs):
     items = super(BoosterTooltipData, self)._packBlocks(*args, **kwargs)
     booster = g_goodiesCache.getBooster(boosterID)
     questsResult = self.__getBoosterQuestNames(boosterID)
     items.append(formatters.packBuildUpBlockData([formatters.packTitleDescBlock(text_styles.highTitle(booster.fullUserName), desc=text_styles.main(booster.description)), formatters.packImageBlockData(img=booster.bigTooltipIcon, align=BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER, width=180, height=180, padding={'top': -14,
       'bottom': -14})]))
     items.append(self.__packDueDate(booster))
     if len(questsResult):
         qNames = '"%s"' % ', '.join(questsResult)
         items.append(self.__packAccessCondition(qNames))
     if booster.inCooldown:
         items.append(self.__packActiveState(booster.getUsageLeftTimeStr()))
     return items
Пример #57
0
 def _packBlocks(self, *args, **kwargs):
     items = super(ResearchModulesPacker, self)._packBlocks(*args, **kwargs)
     blocksGap = 5
     imgPdg = {'left': 15,
      'right': 20}
     txtGap = -4
     items.append(formatters.packBuildUpBlockData([formatters.packTextBlockData(text_styles.middleTitle(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_TYPESTITLE)),
      formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_GUNTITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_GUNDESCRIPTION), RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_MODULES_GUN, imgPdg, txtGap=txtGap),
      formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_TURRETTITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_TURRETDESCRIPTION), RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_MODULES_TOWER, imgPdg, txtGap=txtGap),
      formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_ENGINETITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_ENGINEDESCRIPTION), RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_MODULES_ENGINE, imgPdg, txtGap=txtGap),
      formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_CHASSISTITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_CHASSISDESCRIPTION), RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_MODULES_CHASSIS, imgPdg, txtGap=txtGap),
      formatters.packImageTextBlockData(text_styles.main(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_RADIOSETTITLE), text_styles.standard(TOOLTIPS.HANGARTUTORIAL_RESEARCH_MODULES_RADIOSETDESCRIPTION), RES_ICONS.MAPS_ICONS_HANGARTUTORIAL_MODULES_RADIO, imgPdg, txtGap=txtGap)], blocksGap, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_WHITE_BG_LINKAGE))
     return items
Пример #58
0
 def _packBlocks(self, *args, **kwargs):
     blocks = super(SeasonAwardTooltipData, self)._packBlocks(*args, **kwargs)
     blocks.append(
         formatters.packBuildUpBlockData(
             [
                 formatters.packTextBlockData(self.__title),
                 formatters.packImageBlockData(
                     self.__image, BLOCKS_TOOLTIP_TYPES.ALIGN_CENTER, padding=self.__imgPadding
                 ),
             ]
         )
     )
     return blocks
Пример #59
0
    def _packBonusBlock(self, customizationTypeData, title):
        subBlocks = [formatters.packTextBlockData(text=text_styles.middleTitle(_ms(title)), padding={"bottom": 2})]
        for bonus in customizationTypeData:
            bonusPartDescription = text_styles.main(bonus["title"])
            if bonus["isTemporarily"]:
                bonusPartDescription += "\n" + text_styles.standard("*" + bonus["description"])
            subBlocks.append(
                formatters.packTextParameterBlockData(
                    name=bonusPartDescription, value=bonus["power"], padding={"bottom": 8}, valueWidth=45
                )
            )

        return formatters.packBuildUpBlockData(
            subBlocks, 0, BLOCKS_TOOLTIP_TYPES.TOOLTIP_BUILDUP_BLOCK_LINKAGE, {"left": 3}
        )