diff ObjectiveTracker/BonusObjectives.lua @ 27:c3aa94bc6be2

collating module-specific function into their own files and dropping the UI and Style scripts
author Nenue
date Wed, 13 Apr 2016 20:18:50 -0400
parents
children adcd7c328d07
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ObjectiveTracker/BonusObjectives.lua	Wed Apr 13 20:18:50 2016 -0400
@@ -0,0 +1,66 @@
+--- ${PACKAGE_NAME}
+-- @file-author@
+-- @project-revision@ @project-hash@
+-- @file-revision@ @file-hash@
+-- 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 Default, Quest = T.DefaultHandler, T.Quest
+local format = format
+local print = B.print('Tracker')
+local lprint = B.print('Line')
+local iprint = B.print('Info')
+local Bonus = mod.Bonus
+
+
+--- Module-specific data wrangling that has to happen during UpdateBlock()
+-- Most of this is sculpting objectives data into a parsible list.
+-- Some of it is additional block manipulation that doesn't quite fit with the other modules..
+Bonus.UpdateObjectives = function(handler, block)
+  Default.UpdateObjectives(handler, block)
+end
+
+
+
+Bonus.UpdateLine = function(handler, block, line, data)
+  local info = block.info
+  local print = lprint
+
+
+  line.displayColor = 'FFFFFF'
+  line.displayText = data.text
+  line.progress = 0
+  print('  ', data.objectiveIndex,'|cFFFF0088-|r', data.objectiveType, data.text)
+  if data.objectiveType == 'progressbar' then
+    line.widgetType = 'ProgressBar'
+    print('    |cFFFF44DDpercent='..tostring(GetQuestProgressBarPercent(info.questID)))
+    data.value = GetQuestProgressBarPercent(info.questID) or 0
+    data.maxValue = 100
+    if  data.value >= data.maxValue then
+      line.progress = 1
+    elseif data.value > 0 then
+      line.progress = 2
+    end
+    line.format = PERCENTAGE_STRING
+    local widget = T.SetWidget(line, data, 'ProgressBar', info.questID..'-'..data.objectiveIndex)
+    print('    |cFFFF0022** text:|r', data.text, '|cFFFF0022value:|r', data.value, '|cFFFF0022max:|r', data.maxValue)
+    widget:SetPoint('TOP', line, 'TOP', 0, 0)
+
+    line.widget = widget
+    line.height = widget.height
+  else
+    line.displayText = data.text
+    line.widget = nil
+  end
+  return line
+end
+
+Bonus.Select = function(self)
+
+  Bonus:OnTurnIn(self.info.questID)
+end
+Bonus.Remove = function(self)
+
+end
\ No newline at end of file