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 |
