annotate ObjectiveTracker/AutoQuestPopups.lua @ 39:92534dc793f2

- restore the previous QuestLogSelection after pulling for selection-restricted quest data; fixes icon mixups while quest map is open - moved progressbar builders into the schema environment, with all the other Frame.lua functions; prep for configuration access - relegate the various removal events to a framescript in their corresponding blocks; this takes care of resolving dead frames
author Nenue
date Thu, 21 Apr 2016 16:43:37 -0400
parents e84d645c8ab8
children
rev   line source
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@37 15 if true then return 0, 0, nil end
Nenue@29 16 print(self.name, self)
Nenue@34 17 --Quest:GetNumWatched()
Nenue@29 18 self.numWatched = GetNumAutoQuestPopUps()
Nenue@28 19
Nenue@29 20 return self.numWatched
Nenue@29 21 end
Nenue@29 22 AutoQuest.GetInfo = function(self, popupIndex)
Nenue@29 23
Nenue@29 24
Nenue@29 25 local questID, type = GetAutoQuestPopUp(popupIndex)
Nenue@29 26 local questLogIndex = GetQuestLogIndexByID(questID)
Nenue@29 27 local title, level, suggestedGroup, isHeader, isCollapsed, isComplete, frequency, questID, startEvent, displayQuestID, isOnMap, hasLocalPOI, isTask, isStory = GetQuestLogTitle(questLogIndex)
Nenue@29 28
Nenue@29 29 self.Info[questID] = self.Info[questID] or {}
Nenue@29 30 local popup = self.Info[questID]
Nenue@30 31 popup.questID = questID
Nenue@30 32 popup.id = questID
Nenue@29 33 popup.title = title
Nenue@29 34 popup.description = type
Nenue@29 35 popup.popupType = type
Nenue@34 36 popup.logIndex = questLogIndex
Nenue@29 37 popup.popupIndex = popupIndex
Nenue@29 38
Nenue@29 39 self.Info[questID] = popup
Nenue@29 40 self.WatchInfo[popupIndex] = popup
Nenue@29 41
Nenue@29 42
Nenue@29 43 return self.Info[questID]
Nenue@29 44 end
Nenue@29 45
Nenue@28 46 AutoQuest.UpdateObjectives = function(handler, block)
Nenue@28 47 local print = lprint
Nenue@28 48 if block.info.type == 'OFFER' then
Nenue@29 49 block.status:SetText(T.strings.CLICK_TO_ACCEPT)
Nenue@28 50 end
Nenue@28 51 end
Nenue@28 52
Nenue@31 53 AutoQuest.Select = function(handler, block)
Nenue@28 54
Nenue@31 55 if block.info.popupType == 'OFFER' then
Nenue@34 56 ShowQuestOffer(block.info.logIndex)
Nenue@28 57 else
Nenue@34 58 ShowQuestComplete(block.info.logIndex)
Nenue@28 59 end
Nenue@31 60 RemoveAutoQuestPopUp(block.info.questID)
Nenue@28 61 end
Nenue@28 62
Nenue@28 63 AutoQuest.Link = T.Quest.Link