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)
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)
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)
def userType(self): """ User readable item type name. """ return i18n.makeString(ITEM_TYPES.customization(self.itemTypeName))
def userType(self): return i18n.makeString(ITEM_TYPES.customization(self.itemTypeName))
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
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