Beispiel #1
0
    def __getQuestItem(self, quest):
        if self.__battleRoyaleController.isBattleRoyaleMode():
            return getQuestTooltipBlock(quest)
        bonusNames = []
        for bonus in quest.getBonuses():
            if bonus.getName() == 'battleToken':
                bonusNames.extend(_StringTokenBonusFormatter().format(bonus))
            bonusFormat = bonus.format()
            if bonusFormat:
                if isinstance(bonus, CustomizationsBonus):
                    for item in bonus.getCustomizations():
                        itemTypeName = item.get('custType')
                        if itemTypeName == 'projection_decal':
                            itemTypeName = GUI_ITEM_TYPE_NAMES[
                                GUI_ITEM_TYPE.PROJECTION_DECAL]
                        elif itemTypeName == 'personal_number':
                            itemTypeName = GUI_ITEM_TYPE_NAMES[
                                GUI_ITEM_TYPE.PERSONAL_NUMBER]
                        bonusFmt = _ms(ITEM_TYPES.customization(itemTypeName))
                        bonusNames.append(bonusFmt)

                else:
                    bonusNames.extend(bonusFormat.split(', '))

        isAvailable, _ = quest.isAvailable()
        return self._packQuest(quest.getUserName(), bonusNames, isAvailable)
Beispiel #2
0
 def _extractDataFromElement(self):
     self._isEmpty = not self._item
     if not self._isEmpty:
         self._name = text_styles.highTitle(self._item.userName)
         self._desc = self.__generateDescription()
     else:
         itemTypeID = TABS_ITEM_MAPPING.get(self._c11nView.getCurrentTab())
         itemTypeName = GUI_ITEM_TYPE_NAMES[itemTypeID]
         self._name = text_styles.highTitle(
             _ms(VEHICLE_CUSTOMIZATION.CUSTOMIZATION_POPOVER_EMPTYTEXT,
                 elementType=_ms(ITEM_TYPES.customization(itemTypeName))))
         self._desc = text_styles.neutral(
             VEHICLE_CUSTOMIZATION.CUSTOMIZATION_POPOVER_EMPTYSLOT_HINT)
Beispiel #3
0
def _extractDataFromElement(base, self):
    if isinstance(self._c11nView, MainView):
        return base(self)
    self._isEmpty = not self._item
    if not self._isEmpty:
        self._name = text_styles.highTitle(self._item.userName)
        self._desc = self._AnchorProperties__generateDescription()
    else:
        itemTName = GUI_ITEM_TYPE_NAMES[tabToItem(
            self._c11nView.getCurrentTab())]
        self._name = text_styles.highTitle(
            _ms(VEHICLE_CUSTOMIZATION.CUSTOMIZATION_POPOVER_EMPTYTEXT,
                elementType=_ms(ITEM_TYPES.customization(itemTName))))
        self._desc = text_styles.neutral(
            VEHICLE_CUSTOMIZATION.CUSTOMIZATION_POPOVER_EMPTYSLOT_HINT)
Beispiel #4
0
 def userType(self):
     """ User readable item type name.
     """
     return i18n.makeString(ITEM_TYPES.customization(self.itemTypeName))
Beispiel #5
0
 def userType(self):
     return i18n.makeString(ITEM_TYPES.customization(self.itemTypeName))
Beispiel #6
0
    def _packBlocks(self, *args, **kwargs):
        items = super(QuestsPreviewTooltipData, self)._packBlocks()
        vehicle = g_currentVehicle.item
        quests = self._questController.getQuestForVehicle(vehicle)
        quests = sorted([q for q in quests if not q.isCompleted()],
                        events_helpers.questsSortFunc)
        if quests:
            items.append(
                self._getHeader(
                    len(quests), vehicle.shortUserName,
                    TOOLTIPS.HANGAR_HEADER_QUESTS_DESCRIPTION_VEHICLE))
            for quest in quests:
                bonusNames = []
                for bonus in quest.getBonuses():
                    if bonus.getName() == 'battleToken':
                        bonusNames.extend(
                            _StringTokenBonusFormatter().format(bonus))
                    bonusFormat = bonus.format()
                    if bonusFormat:
                        if isinstance(bonus, CustomizationsBonus):
                            for item in bonus.getCustomizations():
                                itemType = item.get('custType')
                                bonusFmt = _ms(
                                    ITEM_TYPES.customization(itemType))
                                bonusNames.append(bonusFmt)

                        else:
                            bonusNames.extend(bonusFormat.split(', '))

                isAvailable, _ = quest.isAvailable()
                items.append(
                    self._packQuest(quest.getUserName(), bonusNames,
                                    isAvailable))
                if len(items) > _MAX_QUESTS_PER_TOOLTIP:
                    break

            rest = len(quests) - len(items) + 1
            if rest > 0:
                items.append(self._getBottom(rest))
        else:

            def _filter(q):
                return q.getType(
                ) not in constants.EVENT_TYPE.SHARED_QUESTS and not q.isCompleted(
                )

            allQuests = self._eventsCache.getQuests(filterFunc=_filter)
            if allQuests:
                items.append(
                    self._getHeader(
                        len(quests), vehicle.shortUserName,
                        TOOLTIPS.HANGAR_HEADER_QUESTS_DESCRIPTION_VEHICLE))
                items.append(
                    self._getBody(TOOLTIPS.HANGAR_HEADER_QUESTS_EMPTY_VEHICLE))
            else:
                items.append(
                    self._getHeader(len(quests), vehicle.shortUserName,
                                    TOOLTIPS.HANGAR_HEADER_QUESTS_DESCRIPTION))
                items.append(self._getBody(
                    TOOLTIPS.HANGAR_HEADER_QUESTS_EMPTY))
            items.append(self._getBottom(0))
        return items
Beispiel #7
0
    def _packBlocks(self, *args, **kwargs):
        items = super(QuestsPreviewTooltipData, self)._packBlocks()
        vehicle = g_currentVehicle.item
        quests = sorted([
            q for q in self._questController.getQuestForVehicle(vehicle)
            if not q.isCompleted() and self.__eventProgression.questPrefix
            not in q.getID() and not isDailyQuest(q.getID())
            and not isPremium(q.getID()) and not isRankedQuestID(q.getID())
        ],
                        key=events_helpers.questsSortFunc)
        if quests:
            items.append(
                self._getHeader(
                    len(quests), vehicle.shortUserName,
                    R.strings.tooltips.hangar.header.quests.description.
                    vehicle()))
            for quest in quests:
                bonusNames = []
                for bonus in quest.getBonuses():
                    if bonus.getName() == 'battleToken':
                        bonusNames.extend(
                            _StringTokenBonusFormatter().format(bonus))
                    bonusFormat = bonus.format()
                    if bonusFormat:
                        if isinstance(bonus, CustomizationsBonus):
                            for item in bonus.getCustomizations():
                                itemTypeName = item.get('custType')
                                if itemTypeName == 'projection_decal':
                                    itemTypeName = GUI_ITEM_TYPE_NAMES[
                                        GUI_ITEM_TYPE.PROJECTION_DECAL]
                                elif itemTypeName == 'personal_number':
                                    itemTypeName = GUI_ITEM_TYPE_NAMES[
                                        GUI_ITEM_TYPE.PERSONAL_NUMBER]
                                bonusFmt = _ms(
                                    ITEM_TYPES.customization(itemTypeName))
                                bonusNames.append(bonusFmt)

                        else:
                            bonusNames.extend(bonusFormat.split(', '))

                isAvailable, _ = quest.isAvailable()
                items.append(
                    self._packQuest(quest.getUserName(), bonusNames,
                                    isAvailable))
                if len(items) > _MAX_QUESTS_PER_TOOLTIP:
                    break

            rest = len(quests) - len(items) + 1
            if rest > 0:
                items.append(self._getBottom(rest))
        else:

            def _filter(q):
                return q.getType(
                ) not in constants.EVENT_TYPE.SHARED_QUESTS and not q.isCompleted(
                )

            allQuests = self._eventsCache.getQuests(filterFunc=_filter)
            if allQuests:
                items.append(
                    self._getHeader(
                        len(quests), vehicle.shortUserName,
                        R.strings.tooltips.hangar.header.quests.description.
                        vehicle()))
                items.append(
                    self._getBody(TOOLTIPS.HANGAR_HEADER_QUESTS_EMPTY_VEHICLE))
            else:
                items.append(
                    self._getHeader(
                        len(quests), vehicle.shortUserName,
                        R.strings.tooltips.hangar.header.quests.description()))
                items.append(self._getBody(
                    TOOLTIPS.HANGAR_HEADER_QUESTS_EMPTY))
            items.append(self._getBottom(0))
        return items