comparison WorldQuests.lua @ 82:26d736fbfe67 v1.4.4

- Fixed filter bar issues
author Nenue
date Mon, 10 Apr 2017 17:29:28 -0400
parents 5d33e98710a0
children a12f782571c5
comparison
equal deleted inserted replaced
81:2a86d6584ddd 82:26d736fbfe67
571 end 571 end
572 end 572 end
573 573
574 -- Updates quest markers in taskInfo while associating them with the given map 574 -- Updates quest markers in taskInfo while associating them with the given map
575 function Module:UpdateQuestsForMap(taskInfo, mapID) 575 function Module:UpdateQuestsForMap(taskInfo, mapID)
576 if mapID then 576 print('UpdateQuestsForMap()', GetMapNameByID(mapID), GetMapNameByID(db.currentMapID), layoutDirty)
577 db.QuestsByZone[mapID] = db.QuestsByZone[mapID] or {} 577 if db.QuestsByZone[mapID] then
578 wipe(db.QuestsByZone[mapID]) 578 wipe(db.QuestsByZone[mapID])
579 end 579 end
580 print('UpdateQuestsForMap()', GetMapNameByID(mapID), GetMapNameByID(db.currentMapID), layoutDirty) 580
581
581 for index, info in pairs(taskInfo) do 582 for index, info in pairs(taskInfo) do
582 583
583 local questID, x, y = info.questId, info.x, info.y 584 local questID, x, y = info.questId, info.x, info.y
584 local pin = self:AcquirePin(info) 585 local pin = self:AcquirePin(info)
585 586
586 if pin then 587 if pin then
587 print(pin.title, pin.isStale) 588 print(pin.title, pin.isStale, layoutDirty, (pin.owningFrame ~= WorldMapFrame))
588 if pin:IsShown() and (layoutDirty or pin.isStale or (pin.owningFrame ~= WorldMapFrame)) then 589 if pin:IsShown() and (layoutDirty or pin.isStale or (pin.owningFrame ~= WorldMapFrame)) then
589 local scaleFactor = SCALE_FACTORS[(pin.dataLoaded and not pin.filtered) and scaleConstant or 1] 590 local scaleFactor = SCALE_FACTORS[(pin.dataLoaded and not pin.filtered) and scaleConstant or 1]
590 pin.owningFrame = WorldMapFrame 591 pin.owningFrame = WorldMapFrame
591 pin:SetAnchor(WorldMapPOIFrame, x, y, self.hostWidth, self.hostHeight, scaleFactor) 592 pin:SetAnchor(WorldMapPOIFrame, x, y, self.hostWidth, self.hostHeight, scaleFactor)
592 if pin.isStale then 593 if pin.isStale then
593 pin:Refresh('WORLDMAP_REFRESH ' .. GetTime()) 594 pin:Refresh('WORLDMAP_REFRESH ' .. GetTime())
594 end 595 end
595 if mapID then
596 db.QuestsByZone[mapID][questID] = pin
597 end
598 else 596 else
599 if layoutDirty then 597 if layoutDirty then
600 pin.isStale = true 598 pin.isStale = true
601 end 599 end
602 end 600 end
603 601
602 if db.QuestsByZone[mapID] and pin.used then
603 db.QuestsByZone[mapID][questID] = pin
604 end
604 605
605 end 606 end
606 end 607 end
607 end 608 end
608 609
632 local numZones = MC_GetNumZones(db.currentMapID) 633 local numZones = MC_GetNumZones(db.currentMapID)
633 if numZones then 634 if numZones then
634 for i = 1, numZones do 635 for i = 1, numZones do
635 local mapAreaID = MC_GetZoneInfo(db.currentMapID, i) 636 local mapAreaID = MC_GetZoneInfo(db.currentMapID, i)
636 local taskInfo = TQ_GetQuestsForPlayerByMapID(mapAreaID, db.currentMapID) 637 local taskInfo = TQ_GetQuestsForPlayerByMapID(mapAreaID, db.currentMapID)
638
639 db.QuestsByZone[mapAreaID] = db.QuestsByZone[mapAreaID] or {}
640
637 if taskInfo then 641 if taskInfo then
638 self:UpdateQuestsForMap(taskInfo, mapAreaID) 642 self:UpdateQuestsForMap(taskInfo, mapAreaID)
639 end 643 end
640 end 644 end
641 end 645 end