diff ObjectiveTracker/ObjectiveEvents.lua @ 23:e837384ac363

Separating objective tracker module
author Nenue
date Sun, 10 Apr 2016 04:35:32 -0400
parents ObjectiveEvents.lua@d5ee940de273
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ObjectiveTracker/ObjectiveEvents.lua	Sun Apr 10 04:35:32 2016 -0400
@@ -0,0 +1,76 @@
+--- ${PACKAGE_NAME}
+-- @file-author@
+-- @project-revision@ @project-hash@
+-- @file-revision@ @file-hash@
+-- Created: 3/30/2016 1:23 AM
+local B = select(2,...).frame
+local mod = B:RegisterModule("ObjectiveTracker", _G.VeneerObjectiveWrapper, 'BuffFrame')
+local print = B.print('Objectives')
+
+--------------------------------------------------------------------
+--- Events that are handled by Blizzard_ObjectiveTracker
+--------------------------------------------------------------------
+
+-------------------------------------------------------------------
+--- Function hooks for BlizzUI compatibility
+-------------------------------------------------------------------
+mod.AddQuestWatch = function(questID)
+    mod:Update(0x00000003)
+end
+
+local Quest = mod.Quest
+mod.RemoveQuestWatch = function(questIndex, ...)
+  print('|cFFFF8800RemoveQuestWatch', questIndex, ...)
+
+  local info = mod.Quest.LogInfo[questIndex]
+
+  -- remove quest refs
+  local block = Quest.QuestBlock[info.questID]
+  Quest.QuestBlock[info.questID] = nil
+  Quest.LogBlock[questIndex] = nil
+
+  -- remove if they still match
+  if Quest.WatchInfo[info.watchIndex] == info then
+    print('cleaning dead WatchInfo entry')
+    Quest.WatchInfo[info.watchIndex] = nil
+  end
+
+  mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST)
+end
+
+mod.AddTrackedAchievement = function(cheevID)
+  mod.CleanWidgets()
+  mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_ACHIEVEMENT)
+end
+
+
+mod.RemoveTrackedAchievement = function(cheevID)
+  print('|cFFFF8800UntrackAchievement', cheevID)
+  mod.CleanWidgets()
+  mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_ACHIEVEMENT)
+end
+
+mod.AcceptQuest = function()
+  mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST_ADDED)
+end
+
+mod.AbandonQuest = function()
+  QuestPOIUpdateIcons()
+  mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST)
+end
+mod.TurnInQuest = function()
+  QuestPOIUpdateIcons()
+  mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST)
+end
+mod.AddAutoQuestPopUp = function(...)
+   mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_AUTO_QUEST_POPUP)
+end
+mod.RemoveAutoQuestPopUp = function(...)
+  mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_AUTO_QUEST_POPUP)
+end
+
+
+
+mod.SetSuperTrackedQuestID = function(questID)
+  --mod:Update()
+end
\ No newline at end of file