diff ObjectiveTracker/ObjectiveTracker.lua @ 38:1f8f9cc3d956

- module integration brought up to speed with current frame management structure
author Nenue
date Thu, 21 Apr 2016 11:36:41 -0400
parents e84d645c8ab8
children 92534dc793f2
line wrap: on
line diff
--- a/ObjectiveTracker/ObjectiveTracker.lua	Mon Apr 18 07:56:23 2016 -0400
+++ b/ObjectiveTracker/ObjectiveTracker.lua	Thu Apr 21 11:36:41 2016 -0400
@@ -140,6 +140,7 @@
   displayName = "Notice",
   updateReasonModule = OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST,
   updateReasonEvents = OBJECTIVE_TRACKER_UPDATE_QUEST + OBJECTIVE_TRACKER_UPDATE_QUEST_ADDED,
+  internalColor = '00FFFF',
   LogInfo = {},
   QuestBlock = {},
 }
@@ -148,6 +149,7 @@
   displayName = "Quests",
   updateReasonModule = OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST,
   updateReasonEvents = OBJECTIVE_TRACKER_UPDATE_QUEST + OBJECTIVE_TRACKER_UPDATE_QUEST_ADDED,
+  internalColor = '0088FF',
   itemButtons = {},
   freeButtons = {},
   LogInfo = {},
@@ -160,12 +162,14 @@
   updateReasonModule = OBJECTIVE_TRACKER_UPDATE_MODULE_ACHIEVEMENT,
   updateReasonEvents = OBJECTIVE_TRACKER_UPDATE_ACHIEVEMENT +
       OBJECTIVE_TRACKER_UPDATE_ACHIEVEMENT_ADDED,
+  internalColor = '00FF88',
 }
 T.Bonus = {
   name = "Bonus",
   displayName = "Bonus Objectives",
   updateReasonModule = OBJECTIVE_TRACKER_UPDATE_MODULE_BONUS_OBJECTIVE,
   updateReasonEvents = OBJECTIVE_TRACKER_UPDATE_QUEST + OBJECTIVE_TRACKER_UPDATE_TASK_ADDED,
+  internalColor = '00FF00',
   QuestBlock = {},
 }
 
@@ -173,9 +177,23 @@
   name = 'Scenario',
   displayName = 'Scenario Objectives',
   updateReasonModule = OBJECTIVE_TRACKER_UPDATE_MODULE_SCENARIO,
-  updateReasonEvents = OBJECTIVE_TRACKER_UPDATE_SCENARIO_NEW_STAGE + OBJECTIVE_TRACKER_UPDATE_SCENARIO_BONUS_DELAYED
+  updateReasonEvents = OBJECTIVE_TRACKER_UPDATE_SCENARIO_NEW_STAGE + OBJECTIVE_TRACKER_UPDATE_SCENARIO_BONUS_DELAYED,
+  internalColor = '88FF00',
 }
-
+local lastLabel
+local Tracker_debug = function(handler, channel)
+  local func = B.print(channel)
+  local color = handler.internalColor
+  return function(label, ...)
+    if lastLabel == label then
+      label = label:gsub('%a', ' ').. ' '
+    else
+      lastLabel = label
+      label = '|cFF'..color..label..':|r'
+    end
+    func(label, ...)
+  end
+end
 local Tracker_string = function (self)
   return self.name
 end
@@ -237,6 +255,10 @@
   T.indexedTrackers[handler] = frame
   print('|cFFFF0088' .. trackerName .. '|r created for |cFF00FFFF' .. handler.displayName .. '|r module')
 
+  handler.print = Tracker_debug(handler, 'Tracker')
+  handler.lprint = Tracker_debug(handler, 'Line')
+  handler.bprint = Tracker_debug(handler, 'Block')
+
   T.orderedHandlers[index] = handler
   return true
 end
@@ -248,12 +270,11 @@
 local GetNumQuestWatches, AddQuestWatch, SetSuperTrackedQuestID = GetNumQuestWatches, AddQuestWatch, SetSuperTrackedQuestID
 Event.QUEST_ACCEPTED = function(questLogIndex, questID, added)
   if ( IsQuestTask(questID) ) then
-    return OBJECTIVE_TRACKER_UPDATE_TASK_ADDED, questID
+    return OBJECTIVE_TRACKER_UPDATE_QUEST_ADDED + OBJECTIVE_TRACKER_UPDATE_TASK_ADDED, questID, added
   else
-
-    AddQuestWatch(questID)
-    --return OBJECTIVE_TRACKER_UPDATE_QUEST_ADDED, questID, added
+    return OBJECTIVE_TRACKER_UPDATE_QUEST_ADDED, questID, added
   end
+  AddQuestWatch(questID)
 end
 
 Event.QUEST_REMOVED = function(questLogIndex, questID)
@@ -267,6 +288,8 @@
     end
   elseif questID then
     return OBJECTIVE_TRACKER_UPDATE_QUEST_ADDED, questID, added
+  else
+    return OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST
   end
 end
 
@@ -369,19 +392,6 @@
     end
   end
 end
-T.animateReasons = 0
-T.SetAnimate = function(reason)
-  print('comparing', T.animateReasons, reason)
-  if animate then
-    if band(T.animateReasons, reason) == 0 then
-      T.animateReasons = T.animateReasons + reason
-    end
-  else
-    if band(T.animateReasons, reason) > 0 then
-      T.animateReasons = T.animateReasons - reason
-    end
-  end
-end
 
 local iprint = B.print('Info')
 T.SetRewards = function(t, questID)
@@ -463,7 +473,6 @@
 
 function T:OnEvent (event, ...)
   local isHandled
-  tprint('OnEvent(|cFF00FF00'.. event ..'|r):', ...)
   local reason, arg1, arg2, arg3
   if Event[event] then
     if type(Event[event]) == 'function' then
@@ -478,12 +487,18 @@
     Play([[Interface\Addons\SharedMedia_MyMedia\sound\IM.ogg]])
   end
   if reason then
-    print('update reason:', reason, 'args:', arg1, arg2, arg3)
+    tprint('OnEvent(|cFF00FF00'.. event ..'|r):', ...)
     T:Update(reason, arg1, arg2, arg3)
   else
-    print('no reason value returned')
+    tprint('OnEvent(|cFFFF4400'.. event ..'|r):', ...)
+    tprint('no detected reason')
     Play([[Interface\Addons\SharedMedia_MyMedia\sound\Quack.ogg]])
   end
+  local args = (reason or '0')
+  if arg1 then args = args .. ', ' .. tostring(arg1) end
+  if arg2 then args = args .. ', ' .. tostring(arg2) end
+  if arg3 then args = args .. ', ' .. tostring(arg3) end
+  tprint('OnEvent(|cFF00FF00'.. event ..'|r):', ..., '|cFFFFFF00=> Update (|r', args,'|cFFFFFF00)|r')
 
 end
 
@@ -544,9 +559,10 @@
   Scroller:Show()
 
   local from, target, to, x, y = Wrapper:GetPoint(1)
-  print(from, target:GetName(), to, x,y)
+  print(from, target, to, x,y)
 
 
+  T.UpdateSchema('tracker', 'default')
   -- run once to prime the data structure
   T.UpdateActionButtons()
 end