Exemplo n.º 1
0
 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))
     }
Exemplo n.º 2
0
    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))