def __packRankRow(self, rank): rankIcon = { 'imageSrc': rank.getIcon('small'), 'isEnabled': rank.isAcquired(), 'rankID': str(rank.getID()) } rankAwards = rank.getAwardsVOs() if rank.getQuest(): rankAwards = getRankedQuestsOrderedAwards([rank.getQuest()]) if rank.isRewardClaimed() and rank.getQuest(): receivedStr = ''.join([ makeImageTag(RES_ICONS.MAPS_ICONS_LIBRARY_OKICON), _ts.statInfo( RANKED_BATTLES. RANKEDBATTLESCYCLESVIEW_CURRENTCYCLE_ITEM_AWARDRECIEVED) ]) else: receivedStr = '' rankID = rank.getID() isCurrent = rankID == self.__currentAccRank.getID() if rank.isMax() and rankID != 1: rankDescr = _ts.main( RANKED_BATTLES.RANKEDBATTLEVIEW_PROGRESSBLOCK_BESTRANK) else: rankDescr = '' return { 'rankIcon': rankIcon, 'rankDescr': rankDescr, 'rankAwards': rankAwards, 'receivedStatus': receivedStr, 'isCurrent': isCurrent, 'rankNumber': _ts.main(str(rankID)) }
def onWidgetClick(self): self.fireEvent( events.LoadViewEvent( RANKEDBATTLES_ALIASES.RANKED_BATTLES_VIEW_ALIAS), EVENT_BUS_SCOPE.LOBBY) if self._currentRank is not None: completedQuests = [] receivedRanks = 0 rankID = self._currentRank.getID() vehicle = g_currentVehicle.item while rankID > 0: rank = self.rankedController.getRank(rankID, vehicle=vehicle) haveNotClaimedAward = not rank.isRewardClaimed() if haveNotClaimedAward: rankQuest = rank.getQuest() if rankQuest is not None: completedQuests.append(rankQuest) rankID -= 1 receivedRanks += 1 else: break if completedQuests: self.rankedController.runQuests(completedQuests) if receivedRanks > 0: showRankedAwardWindow(self._currentRank.getID(), awards=getRankedQuestsOrderedAwards( completedQuests, size=AWARDS_SIZES.BIG)) return
def showRankedAwardWindow(self, rankInfo, vehicle, questsProgress): completedQuests = [] rankID = rankInfo.vehRank + rankInfo.accRank def _filter(q): return ranked_helpers.isRankedQuestID(q.getID()) quests = self.eventsCache.getHiddenQuests(filterFunc=_filter) for qID, qProgress in questsProgress.iteritems(): _, pPrev, pCur = qProgress isCompleted = pCur.get('bonusCount', 0) - pPrev.get('bonusCount', 0) > 0 if qID in quests and isCompleted: completedQuests.append(quests[qID]) self.__awardWindowWasShown = True if completedQuests: event_dispatcher.showRankedAwardWindow(rankID, vehicle=vehicle, awards=getRankedQuestsOrderedAwards(completedQuests, size=AWARDS_SIZES.BIG))