Mercurial > wow > worldplan
comparison WorldQuests.lua @ 54:b289eb3e6a32
- Fix stray pin text arising from pins that are never shown.
| author | Nenue |
|---|---|
| date | Sat, 31 Dec 2016 17:31:39 -0500 |
| parents | 6439015d74b1 |
| children | 6a2e85836219 |
comparison
equal
deleted
inserted
replaced
| 53:44baf4f35c7c | 54:b289eb3e6a32 |
|---|---|
| 130 -- WORLD_MAP_UPDATE and PLAYER_ENTERING_WORLD are passed down from a higher level | 130 -- WORLD_MAP_UPDATE and PLAYER_ENTERING_WORLD are passed down from a higher level |
| 131 self:RegisterEvent('WORLD_QUEST_COMPLETED_BY_SPELL') | 131 self:RegisterEvent('WORLD_QUEST_COMPLETED_BY_SPELL') |
| 132 self:RegisterEvent('SKILL_LINES_CHANGED') | 132 self:RegisterEvent('SKILL_LINES_CHANGED') |
| 133 end | 133 end |
| 134 | 134 |
| 135 function Module:OnMapInfo() | 135 function Module:OnMapInfo(isBrokenIsle, isContinent, mapAreaID) |
| 136 print('|cFFFFFF00'..self:GetName()..':OnMapInfo()|r visible =', self:IsVisible()) | 136 print('|cFFFFFF00'..self:GetName()..':OnMapInfo()|r visible =', self:IsVisible()) |
| 137 if self.isContinent ~= isContinent then | |
| 138 self.sizesDirty = true | |
| 139 end | |
| 140 self.isContinent = isContinent | |
| 137 if self:IsVisible() then | 141 if self:IsVisible() then |
| 138 self:Refresh(true) | 142 self:Refresh(true) |
| 139 else | 143 else |
| 140 self.isStale = true | 144 self.isStale = true |
| 141 end | 145 end |
| 219 end | 223 end |
| 220 end | 224 end |
| 221 | 225 |
| 222 if not pin.dataLoaded then | 226 if not pin.dataLoaded then |
| 223 pin:GetData() | 227 pin:GetData() |
| 224 C_TaskQuest.RequestPreloadRewardData(info.questId) | 228 end |
| 225 end | 229 |
| 230 | |
| 226 | 231 |
| 227 pin:IsFiltered() | 232 pin:IsFiltered() |
| 228 pin:IsShowable() | 233 pin:IsShowable() |
| 229 pin.isStale = true | 234 pin.isStale = true |
| 230 rprint(pin:GetID(), pin.filtered, pin.used) | 235 rprint(pin:GetID(), pin.filtered, pin.used) |
| 243 print('-', i, zone[i]) | 248 print('-', i, zone[i]) |
| 244 zone[id] = nil | 249 zone[id] = nil |
| 245 end | 250 end |
| 246 db.TasksByID[id] = nil | 251 db.TasksByID[id] = nil |
| 247 end | 252 end |
| 248 pin:SetShown(false) | 253 pin:Hide() |
| 249 pin:ClearAllPoints() | 254 pin.Overlay:Hide() |
| 250 tinsert(db.FreePins, pin) | 255 tinsert(db.FreePins, pin) |
| 251 | 256 |
| 252 print('|cFF00FF00-'.. (pin.mapID and GetMapNameByID(pin.mapID) or '???') ..'|r', id, pin.title) | 257 print('|cFF00FF00-'.. (pin.mapID and GetMapNameByID(pin.mapID) or '???') ..'|r', id, pin.title) |
| 253 end | 258 end |
| 254 | 259 |
| 417 db:print(id, pin.worldQuestType, pin.rewardType, pin.title) | 422 db:print(id, pin.worldQuestType, pin.rewardType, pin.title) |
| 418 end | 423 end |
| 419 end | 424 end |
| 420 | 425 |
| 421 function Module:Refresh(fromUser) | 426 function Module:Refresh(fromUser) |
| 422 self.isUserTriggered = fromUser | |
| 423 self.currentMapID = GetCurrentMapAreaID() | 427 self.currentMapID = GetCurrentMapAreaID() |
| 424 rprint('|cFF00FF88'..self:GetName()..':Refresh()|r', fromUser or '|cFFFFFF00internal') | 428 rprint('|cFF00FF88'..self:GetName()..':Refresh()|r', fromUser or '|cFFFFFF00internal') |
| 425 print('|cFF00FF88'..self:GetName()..':Refresh()|r', fromUser or '|cFFFFFF00internal') | 429 print('|cFF00FF88'..self:GetName()..':Refresh()|r', fromUser or '|cFFFFFF00internal') |
| 426 if not self:IsVisible() then | 430 if not self:IsVisible() then |
| 427 print(' not visible, flag for later') | 431 print(' not visible, flag for later') |
| 435 end | 439 end |
| 436 | 440 |
| 437 self:UpdateAnchors(nil, fromUser) | 441 self:UpdateAnchors(nil, fromUser) |
| 438 self:Cleanup (fromUser) | 442 self:Cleanup (fromUser) |
| 439 self.isStale = nil | 443 self.isStale = nil |
| 440 self.isUserTriggered = nil | 444 self.sizesDirty = nil |
| 441 end | 445 end |
| 442 | 446 |
| 443 -- update visibility states of all pins | 447 -- update visibility states of all pins |
| 444 function Module:SetFilteredPins(pins) | 448 function Module:SetFilteredPins(pins) |
| 445 print(' |cFFFFFF00'..self:GetName()..':SetFilteredPins()|r', pins) | 449 print(' |cFFFFFF00'..self:GetName()..':SetFilteredPins()|r', pins) |
| 463 rprint('|cFF00FF00update|r', x, y, pin.mapID, pin.questID, pin.title) | 467 rprint('|cFF00FF00update|r', x, y, pin.mapID, pin.questID, pin.title) |
| 464 | 468 |
| 465 if x and y then | 469 if x and y then |
| 466 pin.x = x | 470 pin.x = x |
| 467 pin.y = y | 471 pin.y = y |
| 468 pin.throttle = 1 | |
| 469 pin:SetFrameLevel(PinBaseIndex+pin:GetID()) | 472 pin:SetFrameLevel(PinBaseIndex+pin:GetID()) |
| 470 pin:SetAnchor(self.hostFrame, pin.x, pin.y, self.hostWidth, self.hostHeight) | 473 pin:SetAnchor(self.hostFrame, pin.x, pin.y, self.hostWidth, self.hostHeight) |
| 471 tinsert(self.UsedPositions, pin) | 474 --tinsert(self.UsedPositions, pin) |
| 472 end | 475 end |
| 473 | 476 if self.sizesDirty then |
| 477 if self:IsVisible() then | |
| 478 pin:Refresh() | |
| 479 else | |
| 480 pin.isStale = true | |
| 481 end | |
| 482 end | |
| 474 if mapID then | 483 if mapID then |
| 475 if not db.QuestsByZone[mapID] then | 484 if not db.QuestsByZone[mapID] then |
| 476 db.QuestsByZone[mapID] = {} | 485 db.QuestsByZone[mapID] = {} |
| 477 end | 486 end |
| 478 db.QuestsByZone[mapID][questID] = pin | 487 db.QuestsByZone[mapID][questID] = pin |
