Mercurial > wow > buffalo2
diff ObjectiveUI.lua @ 5:e9b61fd5f607
- use IsQuestWatched as the determinant for setting action button updates
- check for block match-up in deferred action button updates
author | Nenue |
---|---|
date | Thu, 31 Mar 2016 15:58:08 -0400 |
parents | 3397aae1f44d |
children | 589de8ea05b9 |
line wrap: on
line diff
--- a/ObjectiveUI.lua Thu Mar 31 14:28:40 2016 -0400 +++ b/ObjectiveUI.lua Thu Mar 31 15:58:08 2016 -0400 @@ -60,8 +60,13 @@ end Quest.Remove = function(self) - RemoveQuestWatch(self.info.questIndex) + print('removing', self.info.questLogIndex, 'from watcher') + RemoveQuestWatch(self.info.questLogIndex) + + mod.Quest.LogBlock[self.info.questLogIndex] = nil + mod.Quest.QuestBlock[self.info.questID] = nil QuestPOIUpdateIcons() + mod.UpdateWrapper() end @@ -105,29 +110,28 @@ itemButton.block = nil end else - print(' |cFFFF4400starting new button') local buttonIndex = mod.Quest.numButtons + #freeButtons + 1 itemButton = CreateFrame('Button', 'VeneerQuestItemButton' .. buttonIndex, UIParent, 'VeneerItemButtonTemplate') itemButton.buttonIndex = buttonIndex itemButton:SetSize(48, 48) itemButton:GetNormalTexture():SetSize(80,80) + print(' |cFFFF4400starting new button', itemButton:GetName()) end mod.Quest.numButtons = mod.Quest.numButtons + 1 else - print(' |cFF00FF00found assigned button') itemButton = info.itemButton - if itemButton.block then - print(' - moving from old block') - itemButton.block.itemButton = nil - end + print(' |cFF00FF00found assigned button', itemButton:GetName()) end -- set values + info.itemButton = itemButton + usedButtons[info.questID] = itemButton + print(' |cFF8800FFassigning|r', itemButton:GetName(), 'to quest|cFF00FF00', info.questID, '|rat|cFFFFFF00', block:GetName(),'|r') - info.itemButton = itemButton - block.itemButton = itemButton - usedButtons[info.questID] = itemButton + for k,v in pairs(usedButtons) do + print('|cFFFF44DD'..k..'|r', v:GetName()) + end itemButton:SetAttribute("type", "item") itemButton:SetAttribute("item", itemInfo.link) @@ -149,13 +153,18 @@ if block.itemButton then local itemButton = block.itemButton - itemButton.block = nil - itemButton:Hide() + if itemButton.questID ~= block.info.questID then + block.itemButton = nil + itemButton.block = mod.Quest.InfoBlock[itemButton.questID] + else + itemButton.block = nil + itemButton:Hide() - usedButtons[itemButton.questID] = nil - freeButtons[#freeButtons + 1] = itemButton - mod.Quest.numButtons = mod.Quest.numButtons - 1 - print('|cFFFF0088released', itemButton:GetName(),'and', block:GetName()) + usedButtons[itemButton.questID] = nil + freeButtons[#freeButtons + 1] = itemButton + mod.Quest.numButtons = mod.Quest.numButtons - 1 + print('|cFFFF0088released', itemButton:GetName(),'and', block:GetName()) + end end end