annotate ObjectiveTracker/APIHooks.lua @ 45:dd1ae565f559

Hooks and Handlers: - correct argument mix-ups for AcceptQuest/QUEST_ACCEPTED handlers; fixes auto-watch - respond to AcknowledgeAutoAcceptQuest; fixes lingering popups - include Popup and Quest trackers in the response code for CompleteQuest; fixes content artifacts following the rollover of repeating popups seen in Ashran - clean up wacky OnEvent header Layout - add alpha blend options QuestData - reset objectives data when a quest is in a completed state; keeps old data from ever reaching the Default.x code
author Nenue
date Tue, 26 Apr 2016 14:57:18 -0400
parents 756e8aeb040b
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: 3/30/2016 1:23 AM
Nenue@28 6 local B = select(2,...).frame
Nenue@28 7 local T = B:RegisterModule("ObjectiveTracker", _G.VeneerObjectiveWrapper, 'BuffFrame')
Nenue@28 8 local print = B.print('Objectives')
Nenue@34 9 local OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST = OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST
Nenue@34 10 local OBJECTIVE_TRACKER_UPDATE_MODULE_AUTO_QUEST_POPUP = OBJECTIVE_TRACKER_UPDATE_MODULE_AUTO_QUEST_POPUP
Nenue@44 11 local GetQuestID = GetQuestID
Nenue@34 12 local QuestPOIUpdateIcons = QuestPOIUpdateIcons
Nenue@44 13
Nenue@44 14 --- Module updates triggered by user events
Nenue@45 15 T.AcknowledgeAutoAcceptQuest = function(...)
Nenue@45 16 return OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST + OBJECTIVE_TRACKER_UPDATE_MODULE_AUTO_QUEST_POPUP
Nenue@45 17 end
Nenue@44 18
Nenue@28 19 T.AddQuestWatch = function(questID)
Nenue@34 20 return OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST
Nenue@28 21 end
Nenue@28 22 T.AbandonQuest = function()
Nenue@28 23 QuestPOIUpdateIcons()
Nenue@34 24 return OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST
Nenue@28 25 end
Nenue@34 26 T.CompleteQuest = function()
Nenue@28 27 QuestPOIUpdateIcons()
Nenue@34 28 return OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST
Nenue@28 29 end
Nenue@28 30 T.AddAutoQuestPopUp = function(...)
Nenue@34 31 return OBJECTIVE_TRACKER_UPDATE_MODULE_AUTO_QUEST_POPUP
Nenue@28 32 end
Nenue@34 33 T.RemoveAutoQuestPopUp = function(questID)
Nenue@45 34 AddQuestWatch(GetQuestLogIndexByID(questID))
Nenue@34 35 return OBJECTIVE_TRACKER_UPDATE_MODULE_AUTO_QUEST_POPUP
Nenue@44 36 end
Nenue@44 37 --- SUPER_TRACKED_QUEST_CHANGED will fires
Nenue@44 38 local tprint = B.print('Tracker')
Nenue@44 39 T.SetSuperTrackedQuestID = function(questID)
Nenue@44 40 tprint('SetSuperTrackedQuestID', questID)
Nenue@44 41 for index, block in ipairs(T.Quest.usedBlocks) do
Nenue@44 42 if block:IsVisible() then
Nenue@44 43 if block.info.id == questID then
Nenue@44 44 block.SelectionOverlay:Show()
Nenue@44 45 else
Nenue@44 46 block.SelectionOverlay:Hide()
Nenue@44 47 end
Nenue@44 48 end
Nenue@44 49 end
Nenue@28 50 end
Nenue@28 51
Nenue@28 52
Nenue@45 53
Nenue@44 54 local previousSelection
Nenue@44 55 --@debug@
Nenue@44 56 local tprint = B.print('Tracker') -- @debug@
Nenue@44 57 T.SelectQuestLogEntry = function(logIndex)
Nenue@44 58 --@debug@
Nenue@44 59 if previousSelection and previousSelection ~= logIndex then
Nenue@44 60 print('swapping selection from', previousSelection, 'to', logIndex)
Nenue@44 61 end--@end-debug@
Nenue@44 62 previousSelection = logIndex
Nenue@39 63 end
Nenue@39 64
Nenue@44 65 --- Dummies for future ideas
Nenue@44 66 T.RemoveQuestWatch = function(questIndex, ...) end
Nenue@44 67 T.AddTrackedAchievement = function(cheevID) end
Nenue@44 68 T.RemoveTrackedAchievement = function(cheevID) end
Nenue@44 69 T.AcceptQuest = function() end