# HG changeset patch
# User Nenue
# Date 1491049050 14400
# Node ID 96183f981acbf132693583d1a5e4f313ae3584c1
# Parent e43e10c5576b7150ec8f98c774ebb9d89d129330
Update for Legion Patch 7.2
- Pins for quests detected from the flight map should properly update as needed.
- Fixed dropdown menu configurations not getting applied.
- Added a toggle button to the world map display that performs the same function as the 'Enable' option in the dropdown menu.
- Rewrote the majority of display update handlers for a significant performance improvements while interacting with the world map.
- AP token info should now reflect artifact knowledge changes.
diff -r e43e10c5576b -r 96183f981acb FlightMap.lua
--- a/FlightMap.lua Thu Mar 30 02:32:44 2017 -0400
+++ b/FlightMap.lua Sat Apr 01 08:17:30 2017 -0400
@@ -114,10 +114,13 @@
frame.pin = pin
-- sticking it onto the MapCanvas pin
+ pin:SetAnchor(frame, nil, nil, nil, nil, pin.filtered and 0.5 or 1)
pin.owningFrame = frame:GetMap()
pin.throttle = 1
pin.isStale = true
- pin:SetAnchor(frame)
+
+ pin:ClearAllPoints()
+ pin:SetPoint('CENTER', frame, 'CENTER')
--print(pin.Overlay:IsShown(), pin.Overlay:GetPoint(1))
end
pin:SetShown(pin.used)
diff -r e43e10c5576b -r 96183f981acb QuestPOI.lua
--- a/QuestPOI.lua Thu Mar 30 02:32:44 2017 -0400
+++ b/QuestPOI.lua Sat Apr 01 08:17:30 2017 -0400
@@ -31,19 +31,20 @@
local GameTooltip = GameTooltip
local GetItemIcon = GetItemIcon
-local print = DEVIAN_WORKSPACE and function(...) _G.print('POI', ...) end or function() end
-local qprint = DEVIAN_WORKSPACE and function(...) _G.print('POI', ...) end or function() end
-local wprint = DEVIAN_WORKSPACE and function(...) _G.print('WP', ...) end or function() end
-local wqprint = DEVIAN_WORKSPACE and function(...) _G.print('WorldQuests', ...) end or function() end
-local iprint = DEVIAN_WORKSPACE and function(...) _G.print('ItemScan', ...) end or function() end
-local rprint = DEVIAN_WORKSPACE and function(...) _G.print('WQRefresh', ...) end or function() end
-local dprint = DEVIAN_WORKSPACE and function(...) _G.print('WQData', ...) end or function() end
+local print = DEVIAN_WORKSPACE and function(...) _G.print('POI', ...) end or nop
+local qprint = DEVIAN_WORKSPACE and function(...) _G.print('POI', ...) end or nop
+local wprint = DEVIAN_WORKSPACE and function(...) _G.print('WP', ...) end or nop
+local wqprint = DEVIAN_WORKSPACE and function(...) _G.print('WorldQuests', ...) end or nop
+local iprint = DEVIAN_WORKSPACE and function(...) _G.print('ItemScan', ...) end or nop
+local rprint = DEVIAN_WORKSPACE and function(...) _G.print('WQRefresh', ...) end or nop
+local dprint = DEVIAN_WORKSPACE and function(...) _G.print('WQData', ...) end or nop
local QuestPOI = WorldPlanPOIMixin
local pinBaseIndex = 1300
local overlayBaseIndex = 1350
local previousHighlight
+local DATA_DEBUG = false
local PIN_REFRESH_DELAY = .5
local PIN_REQUEST_DELAY = .1
local ICON_UNKNOWN = "Interface\\ICONS\\inv_misc_questionmark"
@@ -90,6 +91,7 @@
local MINIMIZED_STYLE = {
hideNumber = true,
hideIcon = true,
+ iconWidth = 3,
}
local REWARD_TYPE_STYLES = {
[REWARD_CASH] = {
@@ -376,7 +378,6 @@
end
end
- self.isCriteria = WorldMapFrame.UIElementsFrame.BountyBoard:IsWorldQuestCriteriaForSelectedBounty(questID)
return self.dataLoaded
end
@@ -511,7 +512,12 @@
qprint(' ', tostring(self.title), " |T"..tostring(self.itemTexture)..":12:12|t", tostring(self.itemName))
if (self.itemNumber ~= rewardCount) or (self.rewardType ~= rewardType) or (self.itemName ~= rewardName) or (self.itemTexture ~= rewardIcon) then
+ if DATA_DEBUG and (self.debugTimer <= 0) then
+ return false
+ end
+
return true, rewardType, rewardName, rewardIcon, rewardCount, quality
+
else
return false
end
@@ -565,8 +571,8 @@
self:Refresh()
end
- if self.isNew or (not self.Overlay:IsShown()) then
- --qprint('|cFFFFFF00popping new pin handler')
+ if self.isNew then
+ qprint('|cFFFFFF00popping new pin handler')
self:StartFade()
end
@@ -585,42 +591,52 @@
self.isAnimating = nil
end
--- Places the pin and triggers display
+-- Applies position and sizing parameters to the pin data
function QuestPOI:SetAnchor(owner, dX, dY, mapWidth, mapHeight, scaleFactor)
- wqprint(self:GetName()..':SetAnchor()', owner, dX, dY, scaleFactor, self.filtered, self.used)
+ dprint(self:GetName()..':SetAnchor()', owner, dX, dY, scaleFactor, self.filtered, self.used)
if not self.used then
self:HideFrames()
return
end
- self:SetScale(scaleFactor)
- self:SetParent(owner)
+ if owner then
+ local prevOwner = self:GetParent()
+ if prevOwner ~= owner then
+ self.isStale = true
+ end
+ self:SetParent(owner)
+ self.Overlay:SetParent(owner)
+ else
+ owner = self:GetParent()
+ end
+
self:ClearAllPoints()
self:SetFrameLevel(pinBaseIndex + self:GetID())
- self.Overlay:SetParent(owner)
- self.Overlay:SetScale(scaleFactor)
self.Overlay:SetFrameLevel(overlayBaseIndex + self:GetID())
+
+ local scaleChanged
+ if scaleFactor and (self.scaleFactor ~= scaleFactor) then
+ print('scaleFactor')
+ self:SetScale(scaleFactor)
+ self.Overlay:SetScale(scaleFactor)
+ self.scaleFactor = scaleFactor
+ scaleChanged = true
+ end
+
if (dX and dY) then
if not (mapHeight and mapWidth) then
mapWidth, mapHeight = owner:GetSize()
- end
- if (self.x ~= dY) or (self.y ~= dY) or (self.scaleFactor ~= scaleFactor) then
+ end
+
+ if (self.x ~= dY) or (self.y ~= dY) or scaleChanged then
self.x = dX
self.y = dY
- self.scaleFactor = scaleFactor
local pX = (dX * mapWidth) * (1 / scaleFactor)
local pY = (-dY * mapHeight) * (1 / scaleFactor)
self:SetPoint('CENTER', owner, 'TOPLEFT', pX, pY)
end
- else
- if self.x or self.y then
- self.x = nil
- self.y = nil
- self:SetPoint('CENTER')
- end
end
- self:ShowFrames()
end
-- Show/Hide the text overlays associated with the quest pin; they aren't hierarchically linked
@@ -650,7 +666,7 @@
function QuestPOI:OnLoad()
qprint('|cFF00FF88'..self:GetName()..':OnLoad()|r',db.Config)
-
+ self.debugTimer = 4
self.title = '|cFF0088FF' .. RETRIEVING_DATA..'|r'
self.isPending = true
self.count = self.Overlay.count
@@ -674,6 +690,8 @@
function QuestPOI:OnUpdate (sinceLast)
-- control update check intervals
+
+
self.throttle = (self.throttle or self.updateRate) + sinceLast
if self.throttle >= self.updateRate then
-- factor overtime into the throttle timer
@@ -681,31 +699,42 @@
else
return
end
- if self.isNew then
- --print('|cFFFFFF00push new poi stuff')
- self:OnNew()
- elseif self.isStale then
- --wprint('|cFFFFFF00push poi update')
- self:Refresh()
- return
+ --@debug@
+ if DATA_DEBUG then
+ self.debugTimer = self.debugTimer - sinceLast
+ if self.debugTimer >= 0 then
+ print(self.debugTimer)
+ end
end
+ --@end-debug@
-- query for reward data if it wasn't found in the original scan
local questID = self.questID
if not self.dataLoaded then
- --print('|cFFFF4400'..self:GetID()..':|r polling reward info')
+ print('|cFFFF4400'..self:GetID()..':|r polling reward info')
if not (self.isAnimating) then
self.PendingFade:Play()
end
local dataLoaded = self:GetData()
- if dataLoaded then
- WorldPlanQuests.isZoomDirty = true
+ if dataLoaded and not tContains(db.UpdatedPins, self) then
+
+ print('|cFF00FF88'..self:GetID()..':|r reward info loaded! queue it up')
+
+ tinsert(db.UpdatedPins, self)
end
return
else
if self.PendingFade:IsPlaying() then
+ print('|cFFFF4400'..self:GetID()..':|r cancel fader')
self.PendingFade:Stop()
end
+
+ if self.isStale then
+ print(self.questID, '|cFFFFFF00flagged for update')
+ self:CheckFilterRules()
+ self:Refresh()
+ return
+ end
end
self:UpdateStatus()
diff -r e43e10c5576b -r 96183f981acb WorldPlan.lua
--- a/WorldPlan.lua Thu Mar 30 02:32:44 2017 -0400
+++ b/WorldPlan.lua Sat Apr 01 08:17:30 2017 -0400
@@ -3,7 +3,7 @@
-- %file-revision%
local addonFileName, db = ...
local print = DEVIAN_WORKSPACE and function(...) _G.print('WP', ...) end or function() end
-local WP_VERSION = "1.2"
+local WP_VERSION = "1.4"
local tinsert, pairs, floor = tinsert, pairs, floor
local tremove, ipairs, wipe, unpack = tremove, ipairs, wipe, unpack
local select, type, tostring, tonumber = select, type, tostring, tonumber
@@ -29,7 +29,9 @@
db.TasksByID = {}
db.FreePins = {}
db.UsedPins = {}
+db.UpdatedPins = {}
db.ReportChunks = {}
+db.BountyInfo = {}
-- default color templates
db.DefaultType = {
@@ -82,7 +84,7 @@
NotifyWhenNewQuests = true,
EnablePins = true,
FadeWhileGrouped = false,
- FlightMapAlphaLimits = {1, 1, 1},
+ FlightMapAlphaLimits = {1, .7, 1},
FlightMapScalingLimits = {1, 3, 1.5},
--UntrackedColor = {},
--TrackedColor = {},
@@ -105,12 +107,7 @@
WorldPlanData[key] = true
end
end
- for _, module in ipairs(db.OrderedModules) do
- if module.OnConfigUpdate then
- module:OnConfigUpdate()
- end
- end
- _G.WorldPlan:Refresh()
+ _G.WorldPlan:OnConfigUpdate()
end
-- insert visual options into the tracking button menu
@@ -195,6 +192,18 @@
end
end
+function WorldPlanCore:OnConfigUpdate()
+ for _, module in ipairs(db.OrderedModules) do
+ if module.OnConfigUpdate then
+ module:OnConfigUpdate()
+ end
+ end
+ db.currentMapID = nil
+ db.BountyUpdate = true
+ self:SetCurrentMap('CONFIG_UPDATE')
+ self:Refresh()
+end
+
function WorldPlanCore:print(...) db.print(...) end
function WorldPlanCore:AddHandler (frame)
@@ -285,34 +294,37 @@
}
-function WorldPlanCore:SetCurrentMap()
+function WorldPlanCore:SetCurrentMap(event)
local mapAreaID = GetCurrentMapAreaID()
if not mapAreaID then
return
end
- print(mapAreaID)
+ print('SetCurrentMap()', event, mapAreaID)
local isBrokenIsle = BROKEN_ISLE_MAPS[mapAreaID]
local isContinent = (mapAreaID == BROKEN_ISLES_ID)
+
if db.isContinentMap ~= isContinent then
for _, pin in pairs(db.QuestsByID) do
pin.isStale = true
end
end
+ local isMapOpen = WorldMapFrame:IsShown()
+ local isNewMap = isMapOpen and (mapAreaID ~= db.currentMapID)
db.currentMapID = mapAreaID
db.isContinentMap = isContinent
+ db.isBrokenIsle = isBrokenIsle
db.useContinentType = (WorldMapDetailFrame:GetScale() < 1)
for _, module in ipairs(db.OrderedModules) do
if module.OnMapInfo then
print(' |cFF00FFFF'..module:GetName() .. ':OnMapInfo()|r')
- module:OnMapInfo(isBrokenIsle, isContinent, mapAreaID)
+ module:OnMapInfo(isBrokenIsle, isContinent, mapAreaID, isNewMap, isMapOpen)
end
end
end
-
function WorldPlanCore:OnEvent (event, ...)
print('|cFF00FF88'..self:GetName().. ':OnEvent()|r', event, GetTime(), 'init:', self.initialized)
@@ -324,7 +336,9 @@
else
if (event == 'WORLD_MAP_UPDATE') or (event == 'PLAYER_ENTERING_WORLD') or (event == 'PLAYER_LOGIN') then
print('|cFFFF4400currentMapID =', db.currentMapID, ...)
- self:SetCurrentMap()
+
+
+ self:SetCurrentMap(event)
end
end
end
diff -r e43e10c5576b -r 96183f981acb WorldQuests.lua
--- a/WorldQuests.lua Thu Mar 30 02:32:44 2017 -0400
+++ b/WorldQuests.lua Sat Apr 01 08:17:30 2017 -0400
@@ -18,6 +18,7 @@
local GetQuestLogRewardInfo = GetQuestLogRewardInfo
local GetCurrentMapAreaID, GetMapInfo, GetMapNameByID = GetCurrentMapAreaID, GetMapInfo, GetMapNameByID
+
local print = DEVIAN_WORKSPACE and function(...) _G.print('WorldQuests', ...) end or function() end
local rprint = DEVIAN_WORKSPACE and function(...) _G.print('WQRefresh', ...) end or function() end
local qprint = DEVIAN_WORKSPACE and function(...) _G.print('POI', ...) end or function() end
@@ -38,6 +39,7 @@
0.25, 0.7, 1
}
+local ToggleButton = {}
local numShown = 0
local numLoaded = 0
local isDataLoaded
@@ -56,13 +58,25 @@
end
function Module:OnUpdate(sinceLast)
- if self.filtersDirty or self.isStale or self.isZoomDirty then
+
+ if self.filtersDirty or self.isStale then
self:Refresh()
end
+ if #db.UpdatedPins >= 1 then
+ print('|cFF00FF88pending updates', #db.UpdatedPins)
+ self:UpdateQueuedPins()
+ end
+
end
-local InternalDoRefresh = function (self)
- WorldPlanQuests:Refresh()
+local currentScale = WorldMapDetailFrame:GetScale()
+function Module:RefreshIfChanged()
+ local scaleCheck = WorldMapDetailFrame:GetScale()
+ if scaleCheck ~= currentScale then
+ print('|cFF00FF88scale changed from', currentScale, 'to', scaleCheck)
+ self:Refresh()
+ currentScale = scaleCheck
+ end
end
function Module:Setup()
@@ -73,11 +87,24 @@
end
hooksecurefunc("ClickWorldMapActionButton", function () self:OnClickWorldMapActionButton() end)
- hooksecurefunc("WorldMapScrollFrame_ReanchorQuestPOIs", InternalDoRefresh)
- hooksecurefunc("WorldMap_UpdateQuestBonusObjectives", function () self:OnUpdateQuestBonusObjectives() end)
- hooksecurefunc("WorldMapFrame_UpdateMap", InternalDoRefresh)
- WorldMapFrame.UIElementsFrame.BountyBoard:SetSelectedBountyChangedCallback(InternalDoRefresh);
- WorldMapFrame.UIElementsFrame.ActionButton:SetOnCastChangedCallback(InternalDoRefresh);
+ hooksecurefunc("WorldMapScrollFrame_ReanchorQuestPOIs", function()
+ print("WorldMapScrollFrame_ReanchorQuestPOIs")
+ self:RefreshIfChanged()
+ end)
+ hooksecurefunc("WorldMap_UpdateQuestBonusObjectives", function ()
+ self:OnUpdateQuestBonusObjectives()
+ end)
+ hooksecurefunc("WorldMapFrame_UpdateMap", function()
+ print("WorldMapFrame_UpdateMap")
+ self:RefreshIfChanged()
+ end)
+ WorldMapFrame.UIElementsFrame.BountyBoard:SetSelectedBountyChangedCallback(function()
+ self:OnSelectedBountyChanged()
+ end);
+ WorldMapFrame.UIElementsFrame.ActionButton:SetOnCastChangedCallback(function()
+ print("CastChangedCallback")
+ self:Refresh(true)
+ end);
self.Status = CreateFrame('Frame', nil, self)
self.Status:SetPoint('TOPLEFT', WorldMapPOIFrame, 'TOPLEFT', 0, 0)
@@ -103,14 +130,76 @@
end)
+
+ self:SetAllPoints(WorldMapPOIFrame)
+ for k,v in pairs( ToggleButton) do
+ self.Toggle:SetScript(k,v)
+ end
+ self:Show()
+end
+
+local GetQuestBountyInfoForMapID, GetQuestLogTitle, GetQuestLogIndexByID, IsQuestFlaggedCompleted = GetQuestBountyInfoForMapID, GetQuestLogTitle, GetQuestLogIndexByID, IsQuestFlaggedCompleted
+function Module:UpdateBountyInfo()
+ wipe(db.BountyInfo)
+ db.selectedBounty = nil
+
+ local selectedBounty = WorldMapFrame.UIElementsFrame.BountyBoard:GetSelectedBountyIndex()
+ local bounties, numBounties = GetQuestBountyInfoForMapID(db.currentMapID)
+
+ for index, data in ipairs(bounties) do
+ if data.factionID then
+ data.title = GetQuestLogTitle(GetQuestLogIndexByID(data.questID))
+ data.complete = IsQuestFlaggedCompleted(data.questID)
+ db.BountyInfo[data.factionID] = data
+ if index == selectedBounty then
+ db.selectedBounty = data
+ end
+ end
+ end
+
+ for questID, pin in pairs(db.QuestsByID) do
+ local doUpdate
+ if pin.factionID and db.BountyInfo[pin.factionID] then
+ if not pin.isCriteria then
+ pin.isCriteria = true
+ doUpdate = true
+ end
+ else
+ if pin.isCriteria then
+ doUpdate = true
+ pin.isCriteria = nil
+ end
+ end
+ if doUpdate then
+ if pin:IsVisible() then
+ pin:Refresh()
+ else
+ pin.isStale = true
+ end
+ end
+ end
+ db.BountyUpdate = nil
+end
+
+function Module:OnSelectedBountyChanged()
+ self:UpdateBountyInfo()
end
function Module:OnConfigUpdate()
+ print('|cFFFFFF00OnConfigUpdate()|r')
if db.Config.FadeWhileGrouped then
db.PinAlpha = 0.15
else
db.PinAlpha = 1
end
+
+ if not db.Config.EnablePins then
+ for _, pin in pairs(db.QuestsByID) do
+ pin:SetShown(false)
+ end
+ end
+
+ ToggleButton.OnShow(self.Toggle)
end
local InternalHideButton = function(button, index)
@@ -140,11 +229,12 @@
end
function Module:OnUpdateQuestBonusObjectives()
- print('|cFFFF4400WorldMap_UpdateQuestBonusObjectives')
+ rprint('|cFFFF4400WorldMap_UpdateQuestBonusObjectives')
self:UpdateBlizzButtons()
end
function Module:OnClickWorldMapActionButton()
+ rprint('|cFFFF4400ClickWorldMapActionButton')
self:UpdateBlizzButtons()
end
@@ -167,21 +257,22 @@
self:RegisterEvent('CURRENT_SPELL_CAST_CHANGED')
end
-function Module:OnMapInfo(isBrokenIsle, isZoomedOut, mapAreaID)
- print('|cFFFFFF00'..self:GetName()..':OnMapInfo()|r visible =', self:IsVisible())
- if self.isZoomedOut ~= isZoomedOut then
- self.sizesDirty = true
+function Module:OnMapInfo(isBrokenIsle, isZoomedOut, mapAreaID, isNewMap, isMapOpen)
+
+ print('|cFFFFFF00'..self:GetName()..':OnMapInfo()|r, mapAreaID =', mapAreaID,'visible =', isMapOpen, 'changed =', isNewMap)
+
+ if db.BountyUpdate then
+ self:UpdateBountyInfo()
+ end
+ if isNewMap then
+ print('|cFF00FF88refreshing for changed map')
+ if isMapOpen then
+ self:Refresh(true)
+ else
+ self.isStale = true
+ end
end
- self.isZoomedOut = isZoomedOut
- self.isWorldQuestMap = isBrokenIsle
- self.currentMapID = mapAreaID
-
- if self:IsVisible() then
- self:Refresh(true)
- else
- self.isStale = true
- end
end
local superTrackedQuestID
function Module:OnEvent (event, ...)
@@ -290,6 +381,7 @@
pin.isActive = TQ_IsActive(questID)
pin:CheckFilterRules()
rprint(pin:GetID(), pin.filtered, pin.used)
+ pin:SetShown(pin.used)
return pin
end
@@ -417,6 +509,21 @@
end
return 128, icon, quantity, name, itemID, quality
end
+
+-- pins are queued by their OnUpdate and are ostensibly already visible, we just need to fix the zoom and anchor
+function Module:UpdateQueuedPins()
+ print('|cFF00FF88UpdateQueuedPins()')
+ local pin = tremove(db.UpdatedPins)
+ while pin do
+ pin:CheckFilterRules()
+
+ local scaleFactor = SCALE_FACTORS[(pin.dataLoaded and not pin.filtered) and scaleConstant or 1]
+ print(pin.title, pin.dataLoaded and not pin.filtered, scaleFactor)
+ pin:SetAnchor(nil, pin.x, pin.y, self.hostWidth, self.hostHeight, scaleFactor)
+ pin = tremove(db.UpdatedPins)
+ end
+end
+
-- create of update quest pins for a map and its underlying zones
function Module:UpdateWorldQuests (mapID)
@@ -490,15 +597,20 @@
end
end
-function Module:Refresh()
- self.currentMapID = GetCurrentMapAreaID()
- rprint('|cFF00FF88'..self:GetName()..':Refresh()|r')
- print('|cFF00FF88'..self:GetName()..':Refresh()|r')
+local bountiesInitialized
+function Module:Refresh(...)
+ rprint('|cFF00FF88'..self:GetName()..':Refresh()|r', ...)
+ print('|cFF00FF88'..self:GetName()..':Refresh()|r', ...)
if not self:IsVisible() then
print(' not visible, flag for later')
self.isStale = true
return self:MarkAllPins()
end
+ if not db.Config.EnablePins then
+ return
+ end
+
+
wprint(' |cFF00FF88'..self:GetName()..':Refresh()|r')
scaleConstant = db.isContinentMap and 2 or 3
@@ -512,8 +624,6 @@
self:UpdateAnchors(nil)
end
- print('|cFFFFFF00'..self:GetName()..':Cleanup()|r')
- rprint('|cFFFFFF00'..self:GetName()..':Cleanup()|r')
--local showQuestPOI = db.Config.EnablePins
numShown = 0
numLoaded = 0
@@ -522,7 +632,7 @@
if pin.used then
pin.throttle = 1
if oV == false then
- print('|cFF00FF00cleanup +|r', questID, pin.title)
+ rprint('|cFF00FF00cleanup +|r', questID, pin.title)
end
pin:SetShown(true)
numShown = numShown + 1
@@ -532,12 +642,13 @@
else
if oV == true then
- print('|cFFFF4400 -|r', questID, pin.title)
+ rprint('|cFFFF4400 -|r', questID, pin.title)
end
pin:HideFrames()
end
end
+ print(numShown, 'shown', numLoaded, 'loaded')
if numShown > numLoaded then
self.Status:Show()
end
@@ -566,7 +677,7 @@
end
- print('~ ', pin.mapID, pin.questID, pin.title)
+ --print(' |- ', pin.questID, pin.title)
rprint('|cFF00FF00update|r', pin.questID, pin.title)
if x and y then
@@ -603,8 +714,8 @@
self.hostWidth, self.hostHeight = WorldMapPOIFrame:GetSize()
self.nudgeThrescholdX = 16/self.hostWidth
self.nudgeThrescholdY = 16/self.hostHeight
- local print = rprint
- print('|cFF00FF00'..self:GetName()..':UpdateAnchors()')
+
+ rprint('|cFF00FF00'..self:GetName()..':UpdateAnchors()')
local mapFileName, textureHeight, textureWidth, isMicroDungeon, microDungeonMapName = GetMapInfo()
if isMicroDungeon then
return
@@ -613,15 +724,15 @@
isDataLoaded = true
numPins = 0
- local taskInfo = TQ_GetQuestsForPlayerByMapID(self.currentMapID)
+ local taskInfo = TQ_GetQuestsForPlayerByMapID(db.currentMapID)
if taskInfo then
- self:UpdateMap(taskInfo, self.currentMapID)
+ self:UpdateMap(taskInfo, db.currentMapID)
end
- local numZones = MC_GetNumZones(self.currentMapID)
+ local numZones = MC_GetNumZones(db.currentMapID)
if numZones then
for i = 1, numZones do
- local mapAreaID = MC_GetZoneInfo(self.currentMapID, i)
- local taskInfo = TQ_GetQuestsForPlayerByMapID(mapAreaID, self.currentMapID)
+ local mapAreaID = MC_GetZoneInfo(db.currentMapID, i)
+ local taskInfo = TQ_GetQuestsForPlayerByMapID(mapAreaID, db.currentMapID)
if taskInfo then
self:UpdateMap(taskInfo, mapAreaID)
end
@@ -629,3 +740,11 @@
end
end
+function ToggleButton:OnShow()
+ self:SetChecked(db.Config.EnablePins and true or false)
+end
+function ToggleButton:OnClick()
+ print(self:GetChecked())
+ db.Config.EnablePins = self:GetChecked()
+ _G.WorldPlan:OnConfigUpdate()
+end
\ No newline at end of file
diff -r e43e10c5576b -r 96183f981acb WorldQuests.xml
--- a/WorldQuests.xml Thu Mar 30 02:32:44 2017 -0400
+++ b/WorldQuests.xml Sat Apr 01 08:17:30 2017 -0400
@@ -4,11 +4,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file