diff WorldQuests.lua @ 78:fadf00b437fb v1.4.1

- Fixed pins not being removed upon completion - Fixed animation stuttering
author Nenue
date Mon, 10 Apr 2017 13:14:05 -0400
parents 836cd54c84b3
children 5d33e98710a0
line wrap: on
line diff
--- a/WorldQuests.lua	Mon Apr 10 07:34:29 2017 -0400
+++ b/WorldQuests.lua	Mon Apr 10 13:14:05 2017 -0400
@@ -30,7 +30,6 @@
 
 local ToggleButton = {}
 local callbacks = {}
-local PinBaseIndex = 1200
 local BROKEN_ISLES_ID, DALARAN_ID, AZSUNA_ID, VALSHARAH_ID, HIGHMOUNTAIN_ID, STORMHEIM_ID, SURAMAR_ID, EOA_ID = 1007, 1014, 1015,1018, 1024, 1017, 1033, 1096
 local WORLD_QUEST_MAPS = { [DALARAN_ID] = 'Dalaran70',  [AZSUNA_ID] = 'Azsuna',  [VALSHARAH_ID] = "Val'sharah",
   [HIGHMOUNTAIN_ID] = 'Highmountain', [STORMHEIM_ID] = 'Stormheim',  [SURAMAR_ID] = 'Suramar',  [EOA_ID] = 'EyeOfAszhara', }
@@ -348,7 +347,6 @@
       pin = CreateFrame('Frame', name, WorldMapPOIFrame, 'WorldPlanQuestPin')
 
       pin:SetID(totalPins)
-      pin:SetFrameStrata('HIGH')
       numOverlays = numOverlays + 1
       --pin.iconBorder:SetVertexColor(0,0,0,1)
     end
@@ -385,8 +383,11 @@
 
   if (not pin.dataLoaded) then
     local dataLoaded = pin:GetData()
-    isDataLoaded = (isDataLoaded and dataLoaded)
-    WorldPlan.dataFlush = true
+    if dataLoaded then
+      WorldPlan.dataFlush = true
+    else
+      isDataLoaded = false
+    end
   end
 
 
@@ -412,8 +413,9 @@
     db.TasksByID[id] = nil
   end
   pin.isActive = nil
+  pin.used = nil
   pin.dataLoaded = nil
-  pin:HideFrames()
+  pin:SetShown(false)
   tinsert(db.FreePins, pin)
 
   WorldPlan.dataFlush = true
@@ -585,8 +587,6 @@
       if pin:IsShown() and (layoutDirty or pin.isStale) then
         local scaleFactor = SCALE_FACTORS[(pin.dataLoaded and not pin.filtered) and scaleConstant or 1]
         pin.owningFrame = WorldMapFrame
-        pin:SetFrameLevel(PinBaseIndex+pin:GetID())
-        pin.Overlay:SetFrameLevel(overlayBaseIndex+pin:GetID())
         pin:SetAnchor(WorldMapPOIFrame, x, y, self.hostWidth, self.hostHeight, scaleFactor)
         if pin.isStale then
           pin:Refresh('WORLDMAP_REFRESH ' .. GetTime())