Nenue@28
|
1 --- ${PACKAGE_NAME}
|
Nenue@28
|
2 -- @file-author@
|
Nenue@28
|
3 -- @project-revision@ @project-hash@
|
Nenue@28
|
4 -- @file-revision@ @file-hash@
|
Nenue@28
|
5 -- Created: 4/13/2016 7:49 PM
|
Nenue@28
|
6 local B = select(2,...).frame
|
Nenue@28
|
7 local T = B:RegisterModule("ObjectiveTracker", _G.VeneerObjectiveWrapper, 'BuffFrame')
|
Nenue@29
|
8 local print = B.print('Info')
|
Nenue@29
|
9 local lprint = B.print('Line')
|
Nenue@29
|
10 local AutoQuest, Quest = T.AutoQuest, T.Quest
|
Nenue@28
|
11 local ShowQuestOffer, ShowQuestComplete, RemoveAutoQuestPopUp = ShowQuestOffer, ShowQuestComplete, RemoveAutoQuestPopUp
|
Nenue@29
|
12 local GetNumAutoQuestPopUps, GetAutoQuestPopUp, GetQuestLogIndexByID, GetQuestLogTitle = GetNumAutoQuestPopUps, GetAutoQuestPopUp, GetQuestLogIndexByID, GetQuestLogTitle
|
Nenue@29
|
13 --- Data retrieval
|
Nenue@29
|
14 function AutoQuest:GetNumWatched ()
|
Nenue@45
|
15 local numWatched = GetNumAutoQuestPopUps()
|
Nenue@45
|
16 local numAll = numWatched
|
Nenue@28
|
17
|
Nenue@45
|
18 self.print('GetNumWatched', numWatched, 'popups detected')
|
Nenue@45
|
19 for i = 1, numWatched do
|
Nenue@45
|
20 self:GetInfo(i)
|
Nenue@45
|
21 end
|
Nenue@45
|
22
|
Nenue@45
|
23 for i, block in ipairs(self.usedBlocks) do
|
Nenue@45
|
24 if not GetAutoQuestPopUp(block.info.id) then
|
Nenue@45
|
25 self:FreeBlock(block)
|
Nenue@45
|
26 end
|
Nenue@45
|
27 end
|
Nenue@45
|
28
|
Nenue@45
|
29 self.numWatched = numWatched
|
Nenue@45
|
30 self.WatchList = self.Info
|
Nenue@45
|
31 return numWatched
|
Nenue@29
|
32 end
|
Nenue@45
|
33 AutoQuest.GetInfo = function(self, index)
|
Nenue@29
|
34
|
Nenue@29
|
35
|
Nenue@45
|
36 local questID, type = GetAutoQuestPopUp(index)
|
Nenue@29
|
37 local questLogIndex = GetQuestLogIndexByID(questID)
|
Nenue@29
|
38 local title, level, suggestedGroup, isHeader, isCollapsed, isComplete, frequency, questID, startEvent, displayQuestID, isOnMap, hasLocalPOI, isTask, isStory = GetQuestLogTitle(questLogIndex)
|
Nenue@29
|
39
|
Nenue@45
|
40 self.Info[index] = self.Info[index] or {}
|
Nenue@45
|
41 local popup = self.Info[index]
|
Nenue@30
|
42 popup.questID = questID
|
Nenue@45
|
43 popup.id = index
|
Nenue@29
|
44 popup.title = title
|
Nenue@29
|
45 popup.description = type
|
Nenue@29
|
46 popup.popupType = type
|
Nenue@34
|
47 popup.logIndex = questLogIndex
|
Nenue@29
|
48
|
Nenue@29
|
49 self.Info[questID] = popup
|
Nenue@45
|
50 self.WatchInfo[index] = popup
|
Nenue@29
|
51
|
Nenue@29
|
52
|
Nenue@29
|
53 return self.Info[questID]
|
Nenue@29
|
54 end
|
Nenue@29
|
55
|
Nenue@28
|
56 AutoQuest.UpdateObjectives = function(handler, block)
|
Nenue@28
|
57 local print = lprint
|
Nenue@28
|
58 if block.info.type == 'OFFER' then
|
Nenue@29
|
59 block.status:SetText(T.strings.CLICK_TO_ACCEPT)
|
Nenue@28
|
60 end
|
Nenue@28
|
61 end
|
Nenue@28
|
62
|
Nenue@31
|
63 AutoQuest.Select = function(handler, block)
|
Nenue@28
|
64
|
Nenue@31
|
65 if block.info.popupType == 'OFFER' then
|
Nenue@34
|
66 ShowQuestOffer(block.info.logIndex)
|
Nenue@28
|
67 else
|
Nenue@34
|
68 ShowQuestComplete(block.info.logIndex)
|
Nenue@28
|
69 end
|
Nenue@31
|
70 RemoveAutoQuestPopUp(block.info.questID)
|
Nenue@28
|
71 end
|
Nenue@28
|
72
|
Nenue@28
|
73 AutoQuest.Link = T.Quest.Link
|