Esempio n. 1
0
 def _updateView(self):
     if not self._quests:
         return
     pageCount = 0
     if isAllQuestsCompleted(self._quests):
         data = self._getViewDataForCompletedMission()
     elif hasAtLeastOneAvailableQuest(self._quests):
         data = self._getViewDataForAvailableMission()
         questsCount = len(self._quests)
         pageCount = questsCount if questsCount > 1 else 0
         if self._quests[self._selectedQuestID].isAvailable().isValid:
             self.markVisited(self._quests[self._selectedQuestID])
     else:
         data = self._getViewDataForNotAvailableMission()
     self.as_setDataS(data)
     self.updatePageCount(pageCount)
     if self._pageCount:
         self.as_setPageS(self._selectedQuestID)
Esempio n. 2
0
    def _getBodyData(self):
        missions = []
        for quests in self._questMissions:
            status = None
            checkStates = []
            groupIsCompleted = isAllQuestsCompleted(quests)
            groupIsAvailable = groupIsCompleted or hasAtLeastOneAvailableQuest(quests)
            if not groupIsAvailable:
                status = formatErrorTextWithIcon(_ms(LINKEDSET.NOT_AVAILABLE))
            else:
                isSingleQuest = len(quests) == 1
                if not groupIsCompleted and isSingleQuest:
                    status = _ms(LINKEDSET.MISSION_NOT_COMPLETE)
                else:
                    checkStates = [ quest.isCompleted() for quest in quests ]
            missionID = getLinkedSetMissionIDFromQuest(quests[0])
            if groupIsAvailable:
                uiDecoration = RES_ICONS.getLinkedSetMissionItemActive(missionID)
            else:
                uiDecoration = RES_ICONS.getLinkedSetMissionItemDisable(missionID)
            advisable = self.eventsCache.getAdvisableQuests()
            advisableQuests = [ quest for quest in quests if quest.getID() in advisable ]
            isCornerEnable = bool(len(settings.getNewCommonEvents(advisableQuests)))
            missions.append({'eventID': str(missionID),
             'title': _ms(LINKEDSET.getMissionName(missionID)),
             'status': status,
             'isAvailable': True,
             'isCornerEnable': isCornerEnable,
             'uiPicture': RES_ICONS.getLinkedSetMissionIconItem(missionID),
             'uiDecoration': uiDecoration,
             'checkStates': checkStates})

        result = {'title': _ms(getLocalizedQuestNameForLinkedSetQuest(self.mainQuest)),
         'description': _ms(getLocalizedQuestDescForLinkedSetQuest(self.mainQuest)),
         'isButtonUseTokenEnabled': self.linkedSet.hasLinkedSetFinishToken(),
         'buttonUseTokenLabel': _ms(LINKEDSET.USE_THE_TOKEN),
         'uiDecoration': RES_ICONS.MAPS_ICONS_LINKEDSET_LINKEDSET_BGR_LANDING,
         'missions': missions}
        return result
Esempio n. 3
0
 def getCompletedMissionsCount(self):
     return sum((1 for quests in self._questMissions if isAllQuestsCompleted(quests)))
 def isLinkedSetFinished(self):
     return isAllQuestsCompleted(
         self.eventsCache.getLinkedSetQuests().itervalues())