Mercurial > wow > worldplan
comparison QuestPOI.lua @ 27:4a7e89bffbcb r27-beta
- Order Hall resource rewards now show numerals in quest pins.
- Fixed an occasional lua error that occurs when opening the quest map for the first time.
- Fixed another source of textures losing their masks.
| author | Nenue |
|---|---|
| date | Thu, 27 Oct 2016 06:18:16 -0400 |
| parents | a2b623043970 |
| children | c1612c2c1840 |
comparison
equal
deleted
inserted
replaced
| 26:99f6e6ffb2d1 | 27:4a7e89bffbcb |
|---|---|
| 68 region:SetMask(nil) | 68 region:SetMask(nil) |
| 69 region:SetTexture(file) | 69 region:SetTexture(file) |
| 70 region:SetMask(mask) | 70 region:SetMask(mask) |
| 71 end | 71 end |
| 72 | 72 |
| 73 function QuestPOI:OnEnter() | 73 function WorldPlanPOIMixin:OnEnter() |
| 74 local completed = select(4,GetAchievementInfo(familiars_id)) | 74 local completed = select(4,GetAchievementInfo(familiars_id)) |
| 75 if not completed then | 75 if not completed then |
| 76 if self.worldQuestType == LE_QUEST_TAG_TYPE_PET_BATTLE and familiars[self.questID] then | 76 if self.worldQuestType == LE_QUEST_TAG_TYPE_PET_BATTLE and familiars[self.questID] then |
| 77 WorldMapTooltip:SetOwner(self, 'ANCHOR_RIGHT') | 77 WorldMapTooltip:SetOwner(self, 'ANCHOR_RIGHT') |
| 78 WorldMapTooltip:AddLine('Family Familiars') | 78 WorldMapTooltip:AddLine('Family Familiars') |
| 96 return | 96 return |
| 97 end | 97 end |
| 98 end | 98 end |
| 99 TaskPOI_OnEnter(self) | 99 TaskPOI_OnEnter(self) |
| 100 end | 100 end |
| 101 function QuestPOI:OnLeave() | 101 function WorldPlanPOIMixin:OnLeave() |
| 102 TaskPOI_OnLeave(self) | 102 TaskPOI_OnLeave(self) |
| 103 end | 103 end |
| 104 function QuestPOI:OnMouseDown() | 104 function WorldPlanPOIMixin:OnMouseDown() |
| 105 TaskPOI_OnClick(self) | 105 TaskPOI_OnClick(self) |
| 106 end | 106 end |
| 107 | 107 |
| 108 | 108 |
| 109 function WorldPlanPOIMixin:SetAchievementProgressTooltip() | 109 function WorldPlanPOIMixin:SetAchievementProgressTooltip() |
| 110 print('cheevos') | 110 print('cheevos') |
| 111 | 111 |
| 112 | 112 |
| 113 end | 113 end |
| 114 | 114 |
| 115 | 115 function WorldPlanPOIMixin:ShowNew() |
| 116 function QuestPOI:OnShow () | 116 self:SetShown(true) |
| 117 qprint('|cFFFFFF00["'..tostring(self.title)..'"]|r:OnShow()') | 117 self.isNew = nil |
| 118 self.FadeIn:Play() | |
| 119 end | |
| 120 | |
| 121 function WorldPlanPOIMixin:OnShow () | |
| 122 qprint('|cFFFFFF00["'..tostring(self.title)..'"]|r:OnShow() update:', self.hasUpdate, 'new:', self.isNew, 'animation:', self.isAnimating) | |
| 123 qprint(debugstack()) | |
| 118 -- pop this on principle | 124 -- pop this on principle |
| 119 self:Refresh() | 125 if self.hasUpdate then |
| 120 end | 126 |
| 121 function QuestPOI:OnHide() | 127 self:Refresh() |
| 122 --qprint('|cFFFFFF00["'..tostring(self.title)..'"]|r:OnHide()') | 128 end |
| 123 end | 129 |
| 124 | 130 end |
| 125 function QuestPOI:SetAnchor(frame, mapID, mapWidth, mapHeight) | 131 function WorldPlanPOIMixin:OnHide() |
| 132 qprint('|cFFFFFF00["'..tostring(self.title)..'"]|r:OnHide()') | |
| 133 end | |
| 134 | |
| 135 function WorldPlanPOIMixin:SetAnchor(frame, mapID, mapWidth, mapHeight) | |
| 126 self:ClearAllPoints() | 136 self:ClearAllPoints() |
| 127 local dX, dY = TQ_GetQuestLocation(self.questID, mapID) | 137 local dX, dY = TQ_GetQuestLocation(self.questID, mapID) |
| 128 if not dX or dX == 0 then | 138 if not dX or dX == 0 then |
| 129 local _, x, y = QuestPOIGetIconInfo(self.questID) | 139 local _, x, y = QuestPOIGetIconInfo(self.questID) |
| 130 if x and floor(x) ~= 0 then | 140 if x and floor(x) ~= 0 then |
| 144 self:SetParent(WorldMapPOIFrame) | 154 self:SetParent(WorldMapPOIFrame) |
| 145 self:SetPoint('CENTER', frame, 'TOPLEFT', pX, pY) | 155 self:SetPoint('CENTER', frame, 'TOPLEFT', pX, pY) |
| 146 end | 156 end |
| 147 | 157 |
| 148 | 158 |
| 149 function QuestPOI:OnLoad() | 159 function WorldPlanPOIMixin:OnLoad() |
| 160 qprint('|cFF00FF88'..self:GetName()..':OnLoad()|r',WorldPlan.db) | |
| 150 self:RegisterEvent('SUPER_TRACKED_QUEST_CHANGED') | 161 self:RegisterEvent('SUPER_TRACKED_QUEST_CHANGED') |
| 151 end | 162 self.style = WorldPlan.db.defaultPinStyle |
| 152 | 163 self.subStyle = WorldPlan.db.defaultPinStyle.continent |
| 153 function QuestPOI:OnEvent(event, ...) | 164 end |
| 165 | |
| 166 function WorldPlanPOIMixin:OnEvent(event, ...) | |
| 154 if event == 'SUPER_TRACKED_QUEST_CHANGED' then | 167 if event == 'SUPER_TRACKED_QUEST_CHANGED' then |
| 155 if self:IsVisible() then | 168 if self:IsVisible() then |
| 156 self:Refresh() | 169 self:Refresh() |
| 157 end | 170 end |
| 158 end | 171 end |
| 159 end | 172 end |
| 160 | 173 |
| 161 | 174 |
| 162 local PIN_UPDATE_DELAY = .016 | 175 local PIN_UPDATE_DELAY = .016 |
| 163 local TOP_PIN_ID | 176 local TOP_PIN_ID |
| 164 function QuestPOI:OnUpdate (sinceLast) | 177 function WorldPlanPOIMixin:OnUpdate (sinceLast) |
| 165 -- control update check intervals | 178 -- control update check intervals |
| 166 self.throttle = (self.throttle or PIN_UPDATE_DELAY) - sinceLast | 179 self.throttle = (self.throttle or PIN_UPDATE_DELAY) - sinceLast |
| 167 if self.throttle <= 0 then | 180 if self.throttle <= 0 then |
| 168 -- factor overtime into the throttle timer | 181 -- factor overtime into the throttle timer |
| 169 self.throttle = PIN_UPDATE_DELAY - self.throttle | 182 self.throttle = PIN_UPDATE_DELAY - self.throttle |
| 232 end | 245 end |
| 233 end | 246 end |
| 234 | 247 |
| 235 | 248 |
| 236 | 249 |
| 237 function QuestPOI:Refresh () | 250 function WorldPlanPOIMixin:Refresh () |
| 238 local db = WorldPlan.db | 251 local db = WorldPlan.db |
| 239 local print = qprint | 252 local print = qprint |
| 240 print('|cFF00FF88["'..tostring(self.title)..'"]|r:Refresh()', tostring(self.title), "|T"..tostring(self.itemTexture)..":12:12|t", tostring(self.itemName)) | 253 print('|cFF00FF88["'..tostring(self.title)..'"]|r:Refresh()', tostring(self.title), "|T"..tostring(self.itemTexture)..":12:12|t", tostring(self.itemName)) |
| 241 print(self.style) | 254 print(self.style) |
| 242 | 255 |
| 243 | 256 |
| 244 | 257 |
| 245 local questID = self.questId | 258 local questID = self.questId |
| 246 local style = self.style | 259 local style = self.style |
| 260 local subStyle = style[(self.filtered and 'minimized' or 'continent')] | |
| 247 local borderMask = style.mask | 261 local borderMask = style.mask |
| 248 local borderFill = style.texture | 262 local borderFill = style.texture |
| 249 local iconBorder = self.iconBorder | 263 local iconBorder = self.iconBorder |
| 250 local icon = self.icon | 264 local icon = self.icon |
| 251 local count = self.count | 265 local count = self.count |
| 252 | 266 |
| 253 | |
| 254 local subStyle = self.filtered and 'minimized' or 'continent' | |
| 255 if subStyle ~= self.subStyle then | |
| 256 print( ' - changed subStyle, need to redo masks') | |
| 257 end | |
| 258 self.subStyle = subStyle | 267 self.subStyle = subStyle |
| 268 self.hasNumeric = style.hasNumeric | |
| 269 self.numberRGB = style.numberRGB | |
| 270 self.showNumber = subStyle.showNumber | |
| 271 | |
| 272 | |
| 259 print(' - subStyle:', (self.filtered == true), self.subStyle) | 273 print(' - subStyle:', (self.filtered == true), self.subStyle) |
| 260 | 274 |
| 261 --WorldPlan:print(tostring(self.title), "|T"..tostring(self.itemTexture)..":16:16|t", tostring(self.itemName)) | 275 --WorldPlan:print(tostring(self.title), "|T"..tostring(self.itemTexture)..":16:16|t", tostring(self.itemName)) |
| 262 SetMaskedTexture(icon, self.itemTexture or ICON_UNKNOWN, borderMask) | 276 SetMaskedTexture(icon, self.itemTexture or ICON_UNKNOWN, borderMask) |
| 263 icon:SetAllPoints(self) | 277 icon:SetAllPoints(self) |
| 264 | 278 |
| 265 if self.itemName then | 279 if self.itemName then |
| 266 local color = self.rewardColor or COMMON_COLOR | 280 local color = self.rewardColor or COMMON_COLOR |
| 267 if self.itemNumber and self.target then | 281 |
| 268 self.count:SetText(color.hex .. tostring(self.itemNumber)) | 282 |
| 283 self.label:SetShown( self.showNumber) | |
| 284 if self.hasNumeric then | |
| 285 self.label:SetText(self.itemNumber) | |
| 286 self.label:SetTextColor(unpack(self.numberRGB)) | |
| 269 else | 287 else |
| 270 self.count:SetText(nil) | 288 self.label:SetText(nil) |
| 271 end | 289 end |
| 290 | |
| 272 end | 291 end |
| 273 | 292 |
| 274 SetMaskedTexture(iconBorder, borderFill, borderMask) | 293 SetMaskedTexture(iconBorder, borderFill, borderMask) |
| 275 local border = (self.rewardType and db.rewardStyle[self.rewardType]) or (WORLD_QUEST_QUALITY_COLORS[self.rarity] or db.defaultStyle) | 294 local border = (self.rewardType and db.rewardStyle[self.rewardType]) or (WORLD_QUEST_QUALITY_COLORS[self.rarity] or db.defaultStyle) |
| 276 iconBorder:SetVertexColor(border.r, border.g, border.b, border.a) | 295 iconBorder:SetVertexColor(border.r, border.g, border.b, border.a) |
| 297 if self.isElite then | 316 if self.isElite then |
| 298 self.EliteDecal:Show() | 317 self.EliteDecal:Show() |
| 299 else | 318 else |
| 300 self.EliteDecal:Hide() | 319 self.EliteDecal:Hide() |
| 301 end | 320 end |
| 302 | |
| 303 if style.showNumber then | |
| 304 self.label:SetText(self.itemNumber) | |
| 305 else | |
| 306 self.label:SetText(nil) | |
| 307 end | |
| 308 qprint('|cFF88FF00updated', questID, self.title, self.rewardType, (style.showNumber and self.itemNumber) or '') | 321 qprint('|cFF88FF00updated', questID, self.title, self.rewardType, (style.showNumber and self.itemNumber) or '') |
| 309 | 322 |
| 310 | 323 |
| 311 self:UpdateSize() | 324 self:UpdateSize() |
| 325 self.hasUpdate = nil | |
| 312 end | 326 end |
| 313 | 327 |
| 314 function WorldPlanFilterPinMixin:OnEnter () | 328 function WorldPlanFilterPinMixin:OnEnter () |
| 315 local filter = WorldPlan.FilterOptions[self:GetID()] | 329 local filter = WorldPlan.FilterOptions[self:GetID()] |
| 316 local mapID = GetCurrentMapAreaID() | 330 local mapID = GetCurrentMapAreaID() |
