Mercurial > wow > buffalo2
comparison ObjectiveInfo.lua @ 19:605e8f0e46db
ObjectiveCore / Style / Events / Frame
- polishing the execution path for better performance
- make use of the Blizzard_ObjectiveTracker bitfield values to ensure compatibility in possible secure hooks
- avoid full updates when possible (using said bitfield values to indicate targeted sections)
- extreme streamlining of event handling layout: specific reason updates are invoked from API hooks; broader updates are invoked by when the event listener catches something vague like 'QUEST_LOG_UPDATE'
author | Nenue |
---|---|
date | Wed, 06 Apr 2016 07:38:35 -0400 |
parents | d1812fb10ae6 |
children | d5ee940de273 |
comparison
equal
deleted
inserted
replaced
18:d1812fb10ae6 | 19:605e8f0e46db |
---|---|
17 local QUEST_TAG_TCOORDS = QUEST_TAG_TCOORDS | 17 local QUEST_TAG_TCOORDS = QUEST_TAG_TCOORDS |
18 local LE_QUEST_FREQUENCY_DAILY = LE_QUEST_FREQUENCY_DAILY | 18 local LE_QUEST_FREQUENCY_DAILY = LE_QUEST_FREQUENCY_DAILY |
19 local LE_QUEST_FREQUENCY_WEEKLY = LE_QUEST_FREQUENCY_WEEKLY | 19 local LE_QUEST_FREQUENCY_WEEKLY = LE_QUEST_FREQUENCY_WEEKLY |
20 local FACTION_ALLIANCE, LE_QUEST_FACTION_HORDE, FACTION_HORDE, LE_QUEST_FACTION_HORDE = FACTION_ALLIANCE, LE_QUEST_FACTION_HORDE, FACTION_HORDE, LE_QUEST_FACTION_HORDE | 20 local FACTION_ALLIANCE, LE_QUEST_FACTION_HORDE, FACTION_HORDE, LE_QUEST_FACTION_HORDE = FACTION_ALLIANCE, LE_QUEST_FACTION_HORDE, FACTION_HORDE, LE_QUEST_FACTION_HORDE |
21 | 21 |
22 local Tracker, Bonus, AutoQuest, Quest, Cheevs = mod.Tracker, mod.Bonus, mod.AutoQuest, mod.Quest, mod.Cheevs | 22 local Tracker, Bonus, AutoQuest, Quest, Cheevs = mod.DefaultTracker, mod.Bonus, mod.AutoQuest, mod.Quest, mod.Cheevs |
23 -------------------------------------------------------------------- | 23 -------------------------------------------------------------------- |
24 --- Tracker-specific data retrieval functions | 24 --- Tracker-specific data retrieval functions |
25 -------------------------------------------------------------------- | 25 -------------------------------------------------------------------- |
26 | 26 |
27 | 27 |
29 --- AUTO_QUEST | 29 --- AUTO_QUEST |
30 AutoQuest.LogInfo = {} | 30 AutoQuest.LogInfo = {} |
31 AutoQuest.LogBlock = {} | 31 AutoQuest.LogBlock = {} |
32 AutoQuest.QuestBlock = {} | 32 AutoQuest.QuestBlock = {} |
33 AutoQuest.WatchBlock = {} | 33 AutoQuest.WatchBlock = {} |
34 AutoQuest.GetNumWatched = function() | 34 function AutoQuest:GetNumWatched () |
35 AutoQuest.numWatched = GetNumAutoQuestPopUps() | 35 print(self.name, self) |
36 return AutoQuest.numWatched | 36 self.numWatched = GetNumAutoQuestPopUps() |
37 return self.numWatched | |
37 end | 38 end |
38 AutoQuest.GetInfo = function(self, popupIndex) | 39 AutoQuest.GetInfo = function(self, popupIndex) |
39 | 40 |
40 local questID, type = GetAutoQuestPopUp(popupIndex) | 41 local questID, type = GetAutoQuestPopUp(popupIndex) |
41 local questIndex = GetQuestLogIndexByID(questID) | 42 local questIndex = GetQuestLogIndexByID(questID) |
64 Bonus.TaskScenario = {} | 65 Bonus.TaskScenario = {} |
65 | 66 |
66 local taskData = {} | 67 local taskData = {} |
67 Bonus.QuestBlock = {} | 68 Bonus.QuestBlock = {} |
68 Bonus.TaskWatch = {} | 69 Bonus.TaskWatch = {} |
69 Bonus.GetNumWatched = function() | 70 function Bonus:GetNumWatched () |
71 print(self.name, self) | |
70 local tasks = GetTasksTable() | 72 local tasks = GetTasksTable() |
71 local numTasks = 0 | 73 local numTasks = 0 |
72 Bonus.TaskWatch = {} | 74 Bonus.TaskWatch = {} |
73 print('|cFFFFFF00Bonus.GetNumWatched()|r', #tasks) | 75 print('|cFFFFFF00Bonus.GetNumWatched()|r', #tasks) |
74 for i, questID in ipairs(tasks) do | 76 for i, questID in ipairs(tasks) do |
84 Bonus.numWatched = numTasks | 86 Bonus.numWatched = numTasks |
85 return GetNumQuestLogTasks() | 87 return GetNumQuestLogTasks() |
86 end | 88 end |
87 | 89 |
88 Bonus.GetInfo = function(self, taskIndex) | 90 Bonus.GetInfo = function(self, taskIndex) |
91 print(self.name, self) | |
89 return Bonus.TaskWatch[taskIndex] | 92 return Bonus.TaskWatch[taskIndex] |
90 end | 93 end |
91 | 94 |
92 Bonus.StoreTask = function(questID) | 95 Bonus.StoreTask = function(questID) |
93 | 96 |
181 Quest.POI = {} | 184 Quest.POI = {} |
182 Quest.QuestBlock = {} | 185 Quest.QuestBlock = {} |
183 Quest.LogBlock = {} | 186 Quest.LogBlock = {} |
184 Quest.LogInfo = {} | 187 Quest.LogInfo = {} |
185 | 188 |
186 Quest.GetNumWatched = function() | 189 function Quest:GetNumWatched () |
187 Quest.numAll = GetNumQuestLogEntries() | 190 print(self.name, self) |
188 Quest.numWatched = GetNumQuestWatches() | 191 self.numAll = GetNumQuestLogEntries() |
189 return Quest.numWatched | 192 self.numWatched = GetNumQuestWatches() |
193 return self.numWatched, self.numAll | |
190 end | 194 end |
191 Quest.GetInfo = function (self, watchIndex) | 195 Quest.GetInfo = function (self, watchIndex) |
192 print('|cFF00DDFFQuest|r.|cFF0088FFGetInfo(|r'.. tostring(watchIndex)..'|r)') | 196 print('|cFF00DDFFQuest|r.|cFF0088FFGetInfo(|r'.. tostring(watchIndex)..'|r)') |
193 local questID, title, questIndex, numObjectives, requiredMoney, isComplete, | 197 local questID, title, questIndex, numObjectives, requiredMoney, isComplete, |
194 startEvent, isAutoComplete, failureTime, timeElapsed, questType, isTask, isStory, isOnMap, hasLocalPOI = GetQuestWatchInfo(watchIndex) | 198 startEvent, isAutoComplete, failureTime, timeElapsed, questType, isTask, isStory, isOnMap, hasLocalPOI = GetQuestWatchInfo(watchIndex) |
199 | |
200 if not questIndex then | |
201 return | |
202 end | |
195 | 203 |
196 local _, level, suggestedGroup, isHeader, isCollapsed, isComplete, frequency, _, startEvent, displayQuestID, isOnMap, hasLocalPOI, isTask, isStory = GetQuestLogTitle(questIndex) | 204 local _, level, suggestedGroup, isHeader, isCollapsed, isComplete, frequency, _, startEvent, displayQuestID, isOnMap, hasLocalPOI, isTask, isStory = GetQuestLogTitle(questIndex) |
197 | 205 |
198 | 206 |
199 if not questID then | 207 if not questID then |