diff ObjectiveTracker/Achievements.lua @ 29:adcd7c328d07

code collation cleaning
author Nenue
date Wed, 13 Apr 2016 21:53:24 -0400
parents c33c17dd97e7
children 7583684becf4
line wrap: on
line diff
--- a/ObjectiveTracker/Achievements.lua	Wed Apr 13 20:19:37 2016 -0400
+++ b/ObjectiveTracker/Achievements.lua	Wed Apr 13 21:53:24 2016 -0400
@@ -5,16 +5,60 @@
 -- Created: 4/13/2016 7:48 PM
 local B = select(2,...).frame
 local T = B:RegisterModule("ObjectiveTracker", _G.VeneerObjectiveWrapper, 'BuffFrame')
-local _G, ipairs, max, min, unpack, floor, pairs, tostring, type, band = _G, ipairs, max, min, unpack, floor, pairs, tostring, type, bit.band
-local GetAutoQuestPopUp, GetQuestLogCompletionText = GetAutoQuestPopUp, GetQuestLogCompletionText
-local Cheevs = T.Cheevs
-local format = format
+local band = bit.band
+local ChatEdit_InsertLink, RemoveTrackedAchievement, GetAchievementLink, AchievementFrame, AchievementFrame_LoadUI = ChatEdit_InsertLink, RemoveTrackedAchievement, GetAchievementLink, AchievementFrame, AchievementFrame_LoadUI
+local AchievementFrame_ToggleAchievementFrame, AchievementFrame_SelectAchievement = AchievementFrame_ToggleAchievementFrame, AchievementFrame_SelectAchievement
+local GetTime, GetAchievementNumCriteria, GetAchievementCriteriaInfo = GetTime, GetAchievementNumCriteria, GetAchievementCriteriaInfo
+local GetNumTrackedAchievements, GetTrackedAchievements, GetAchievementInfo = GetNumTrackedAchievements, GetTrackedAchievements, GetAchievementInfo
+local Default, Cheevs = T.DefaultHandler, T.Cheevs
 local print = B.print('Tracker')
 local lprint = B.print('Line')
 local iprint = B.print('Info')
 
+--- Data retrieval
+Cheevs.GetNumWatched = function(self)
+  print('|cFF00FF00' .. GetTime())
+  Cheevs.trackedCheevs = {GetTrackedAchievements()}
+  return GetNumTrackedAchievements()
+end
+Cheevs.GetInfo = function(self, index)
+  local cheevID = Cheevs.trackedCheevs[index]
+  local id, name, points, completed, month, day, year, description, flags, icon, rewardText, isGuildAch, wasEarnedByMe, earnedBy = GetAchievementInfo(cheevID)
 
+  self.Info[cheevID] = {}
+  local c = self.Info[cheevID]
+  c.type = 'Cheevs'
+  c.watchIndex = index
+  c.cheevID = cheevID
+  c.title = name
+  c.points, c.completed, c.month, c.day, c.year, c.description, c.flags, c.icon, c.rewardText, c.isGuildAch, c.wasEarnedByMe, c.earnedBy =
+  points, completed, month, day, year, description, flags, icon, rewardText, isGuildAch, wasEarnedByMe, earnedBy
+  c.numObjectives = GetAchievementNumCriteria(cheevID)
+  c.objectives = {}
+  for i = 1, c.numObjectives do
+    local description, type, completed, quantity, requiredQuantity, characterName, flags, assetID, quantityString, criteriaID = GetAchievementCriteriaInfo(cheevID, i)
+    c.objectives[i] = {
+      objectiveIndex = i,
+      cheevID = cheevID,
+      text = description,
+      type = type,
+      finished = completed,
+      value = quantity,
+      maxValue = requiredQuantity,
+      characterName = characterName,
+      flags = flags,
+      assetID = assetID,
+      quantityString = quantityString,
+      criteriaID = criteriaID,
+    }
+  end
+  print('Cheevs.|cFF0088FFGetInfo|r('..index..')', 'obj:', GetAchievementNumCriteria(cheevID), name, description)
 
+  self.WatchInfo[index] = c
+  return self.Info[cheevID]
+end
+
+--- Content handlers
 Cheevs.UpdateLine = function(handler, block, line, data)
   local print = B.print('CheevsLine')
   line.progress = 0
@@ -41,8 +85,9 @@
 end
 
 Cheevs.Select = function(self)
-  --mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_ACHIEVEMENT)
+  T:Update(Cheevs.updateReasonModule)
 end
+
 Cheevs.Remove = function(self)
 
   RemoveTrackedAchievement(self.info.cheevID)