def __invalidateQuestData(self): quests = self._getQuests() tasks, subtasks = self.__makeGroups(quests) result = [] for q in self.__applyFilters(tasks): if q.isStrategic(): qSubtasks = self.__applySort(subtasks[q.getGroupID()]) result.append(quest_helpers.packQuest(q, quests, linkDown=False if len(qSubtasks) == 0 else True)) for idx, subtask in enumerate(qSubtasks): linkDown = idx != len(qSubtasks) - 1 result.append(quest_helpers.packQuest(subtask, quests, linkDown=linkDown, linkUp=True)) else: result.append(quest_helpers.packQuest(q, quests)) self.as_setQuestsDataS(result, len(tasks))
def __parseQuestsProgress(self, questsProgress): def sortFunc(a, b): if a.isCompleted() and not b.isCompleted(): return -1 if not a.isCompleted() and b.isCompleted(): return 1 if a.isCompleted() and b.isCompleted(): if a.isStrategic(): return -1 if b.isStrategic(): return 1 aPrevProg = questsProgress[a.getID()][1] bPrevProg = questsProgress[b.getID()][1] res = a.getBonusCount() - aPrevProg.get('bonusCount', 0) - (b.getBonusCount() - bPrevProg.get('bonusCount', 0)) if not res: return res if a.isSubtask(): return 1 if b.isSubtask(): return -1 return cmp(a.getID(), b.getID()) from gui.Scaleform.daapi.view.lobby.quests import quest_helpers quests = g_questsCache.getQuests() result = [] for qID, qProgress in questsProgress.iteritems(): if qID in quests: pGroupBy, pPrev, pCur = qProgress progress = {pGroupBy: pCur} if max(pCur.itervalues()) == 0: continue result.append(event_items.Quest(qID, quests[qID]._data, progress)) return map(lambda q: quest_helpers.packQuest(q, quests, noProgressTooltip=True), sorted(result, sortFunc))
def __invalidateQuestData(self): quests = self._getQuests() tasks, subtasks = self.__makeGroups(quests) result = [] for q in self.__applyFilters(tasks): if q.isStrategic(): qSubtasks = self.__applySort(subtasks[q.getGroupID()]) result.append( quest_helpers.packQuest( q, quests, linkDown=False if len(qSubtasks) == 0 else True)) for idx, subtask in enumerate(qSubtasks): linkDown = idx != len(qSubtasks) - 1 result.append( quest_helpers.packQuest(subtask, quests, linkDown=linkDown, linkUp=True)) else: result.append(quest_helpers.packQuest(q, quests)) self.as_setQuestsDataS(result, len(tasks))