Mercurial > wow > worldplan
comparison WorldQuests.lua @ 57:54aa7f8ebca8 v1.0-release
- fix profession quests showing when not enabled
- fix profession quest time borders always coloring as urgent
author | Nenue |
---|---|
date | Fri, 20 Jan 2017 19:57:13 -0500 |
parents | 0749e38081e7 |
children | bc09961d5a98 |
comparison
equal
deleted
inserted
replaced
56:0749e38081e7 | 57:54aa7f8ebca8 |
---|---|
168 if questID and db.QuestsByID[questID] then | 168 if questID and db.QuestsByID[questID] then |
169 self:ReleasePin(db.QuestsByID[questID]) | 169 self:ReleasePin(db.QuestsByID[questID]) |
170 rprint('|cFFFF4400release|r', questID) | 170 rprint('|cFFFF4400release|r', questID) |
171 end | 171 end |
172 elseif event == 'SKILL_LINES_CHANGED' then | 172 elseif event == 'SKILL_LINES_CHANGED' then |
173 self:SetFilteredPins() | 173 self:Refresh(true) |
174 end | 174 end |
175 end | 175 end |
176 | 176 |
177 local totalPins = 0 | 177 local totalPins = 0 |
178 local TQ_GetQuestLocation = C_TaskQuest.GetQuestLocation | 178 local TQ_GetQuestLocation = C_TaskQuest.GetQuestLocation |
229 | 229 |
230 if not pin.dataLoaded then | 230 if not pin.dataLoaded then |
231 pin:GetData() | 231 pin:GetData() |
232 end | 232 end |
233 | 233 |
234 | 234 pin:CheckFilterRules() |
235 | |
236 pin:IsFiltered() | |
237 pin:IsShowable() | |
238 pin.isStale = true | 235 pin.isStale = true |
239 rprint(pin:GetID(), pin.filtered, pin.used) | 236 rprint(pin:GetID(), pin.filtered, pin.used) |
240 | 237 |
241 return pin | 238 return pin |
242 end | 239 end |
432 rprint('|cFF00FF88'..self:GetName()..':Refresh()|r', fromUser or '|cFFFFFF00internal') | 429 rprint('|cFF00FF88'..self:GetName()..':Refresh()|r', fromUser or '|cFFFFFF00internal') |
433 print('|cFF00FF88'..self:GetName()..':Refresh()|r', fromUser or '|cFFFFFF00internal') | 430 print('|cFF00FF88'..self:GetName()..':Refresh()|r', fromUser or '|cFFFFFF00internal') |
434 if not self:IsVisible() then | 431 if not self:IsVisible() then |
435 print(' not visible, flag for later') | 432 print(' not visible, flag for later') |
436 self.isStale = true | 433 self.isStale = true |
437 return | 434 return self:MarkAllPins() |
438 end | 435 end |
439 wprint(' |cFF00FF88'..self:GetName()..':Refresh()|r', fromUser or '|cFFFFFF00internal') | 436 wprint(' |cFF00FF88'..self:GetName()..':Refresh()|r', fromUser or '|cFFFFFF00internal') |
440 | 437 |
441 for index, pin in pairs(db.QuestsByID) do | 438 for index, pin in pairs(db.QuestsByID) do |
442 pin.used = nil | 439 pin.used = nil |
447 self.isStale = nil | 444 self.isStale = nil |
448 self.sizesDirty = nil | 445 self.sizesDirty = nil |
449 end | 446 end |
450 | 447 |
451 -- update visibility states of all pins | 448 -- update visibility states of all pins |
452 function Module:SetFilteredPins(pins) | 449 function Module:MarkAllPins(pins) |
453 print(' |cFFFFFF00'..self:GetName()..':SetFilteredPins()|r', pins) | 450 print(' |cFFFFFF00'..self:GetName()..':MarkAllPins()|r', pins) |
454 pins = pins or db.QuestsByID | 451 pins = pins or db.QuestsByID |
455 for questID, pin in pairs(pins) do | 452 for questID, pin in pairs(pins) do |
456 pin.isStale = true | 453 pin.isStale = true |
457 rprint('|cFF00FF00filter', pin.questID, pin.filtered, 'used:', pin.used) | 454 rprint('|cFF00FF00filter', pin.questID, pin.filtered, 'used:', pin.used) |
458 end | 455 end |
465 if not pin then | 462 if not pin then |
466 return | 463 return |
467 end | 464 end |
468 | 465 |
469 | 466 |
470 --print('~ ', pin.mapID, pin.questID, pin.title) | 467 print('~ ', pin.mapID, pin.questID, pin.title) |
471 rprint('|cFF00FF00update|r', x, y, pin.mapID, pin.questID, pin.title) | 468 rprint('|cFF00FF00update|r', pin.questID, pin.title) |
472 | 469 |
473 if x and y then | 470 if x and y then |
474 pin.x = x | 471 pin.x = x |
475 pin.y = y | 472 pin.y = y |
476 pin:SetFrameLevel(PinBaseIndex+pin:GetID()) | 473 pin:SetFrameLevel(PinBaseIndex+pin:GetID()) |
477 pin.owningFrame = self.hostFrame | 474 pin.owningFrame = WorldMapFrame |
478 pin:SetAnchor(self.hostFrame, pin.x, pin.y, self.hostWidth, self.hostHeight) | 475 pin:SetAnchor(WorldMapPOIFrame, pin.x, pin.y, self.hostWidth, self.hostHeight) |
479 --tinsert(self.UsedPositions, pin) | 476 --tinsert(self.UsedPositions, pin) |
480 end | 477 end |
481 if self.sizesDirty then | 478 if self:IsVisible() then |
482 if self:IsVisible() then | 479 pin:Refresh() |
483 pin:Refresh() | 480 else |
484 else | 481 pin.isStale = true |
485 pin.isStale = true | |
486 end | |
487 end | 482 end |
488 if mapID then | 483 if mapID then |
489 if not db.QuestsByZone[mapID] then | 484 if not db.QuestsByZone[mapID] then |
490 db.QuestsByZone[mapID] = {} | 485 db.QuestsByZone[mapID] = {} |
491 end | 486 end |
501 end | 496 end |
502 | 497 |
503 function Module:UpdateAnchors (fromUser) | 498 function Module:UpdateAnchors (fromUser) |
504 wipe(self.UsedPositions) | 499 wipe(self.UsedPositions) |
505 print(' |cFF00FF00'..self:GetName()..':UpdateAnchors()', fromUser) | 500 print(' |cFF00FF00'..self:GetName()..':UpdateAnchors()', fromUser) |
506 self.hostFrame = WorldMapPOIFrame | 501 self.hostWidth, self.hostHeight = WorldMapPOIFrame:GetSize() |
507 self.hostWidth, self.hostHeight = self.hostFrame:GetSize() | |
508 self.nudgeThrescholdX = 16/self.hostWidth | 502 self.nudgeThrescholdX = 16/self.hostWidth |
509 self.nudgeThrescholdY = 16/self.hostHeight | 503 self.nudgeThrescholdY = 16/self.hostHeight |
510 local print = rprint | 504 local print = rprint |
511 print('|cFF00FF00'..self:GetName()..':UpdateAnchors()', fromUser) | 505 print('|cFF00FF00'..self:GetName()..':UpdateAnchors()', fromUser) |
512 local mapFileName, textureHeight, textureWidth, isMicroDungeon, microDungeonMapName = GetMapInfo() | 506 local mapFileName, textureHeight, textureWidth, isMicroDungeon, microDungeonMapName = GetMapInfo() |