comparison 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
comparison
equal deleted inserted replaced
4:18eee961038e 5:e9b61fd5f607
58 Quest.Open = function(self) 58 Quest.Open = function(self)
59 QuestMapFrame_OpenToQuestDetails(self.info.questID) 59 QuestMapFrame_OpenToQuestDetails(self.info.questID)
60 end 60 end
61 61
62 Quest.Remove = function(self) 62 Quest.Remove = function(self)
63 RemoveQuestWatch(self.info.questIndex) 63 print('removing', self.info.questLogIndex, 'from watcher')
64 RemoveQuestWatch(self.info.questLogIndex)
65
66 mod.Quest.LogBlock[self.info.questLogIndex] = nil
67 mod.Quest.QuestBlock[self.info.questID] = nil
64 QuestPOIUpdateIcons() 68 QuestPOIUpdateIcons()
69 mod.UpdateWrapper()
65 end 70 end
66 71
67 72
68 ----------------------------- 73 -----------------------------
69 --- CHEEVS 74 --- CHEEVS
103 if itemButton.block then 108 if itemButton.block then
104 itemButton.block.itemButton = nil 109 itemButton.block.itemButton = nil
105 itemButton.block = nil 110 itemButton.block = nil
106 end 111 end
107 else 112 else
108 print(' |cFFFF4400starting new button')
109 local buttonIndex = mod.Quest.numButtons + #freeButtons + 1 113 local buttonIndex = mod.Quest.numButtons + #freeButtons + 1
110 itemButton = CreateFrame('Button', 'VeneerQuestItemButton' .. buttonIndex, UIParent, 'VeneerItemButtonTemplate') 114 itemButton = CreateFrame('Button', 'VeneerQuestItemButton' .. buttonIndex, UIParent, 'VeneerItemButtonTemplate')
111 itemButton.buttonIndex = buttonIndex 115 itemButton.buttonIndex = buttonIndex
112 itemButton:SetSize(48, 48) 116 itemButton:SetSize(48, 48)
113 itemButton:GetNormalTexture():SetSize(80,80) 117 itemButton:GetNormalTexture():SetSize(80,80)
118 print(' |cFFFF4400starting new button', itemButton:GetName())
114 end 119 end
115 mod.Quest.numButtons = mod.Quest.numButtons + 1 120 mod.Quest.numButtons = mod.Quest.numButtons + 1
116 else 121 else
117 print(' |cFF00FF00found assigned button')
118 itemButton = info.itemButton 122 itemButton = info.itemButton
119 if itemButton.block then 123 print(' |cFF00FF00found assigned button', itemButton:GetName())
120 print(' - moving from old block')
121 itemButton.block.itemButton = nil
122 end
123 124
124 end 125 end
125 -- set values 126 -- set values
126 127
127
128 info.itemButton = itemButton 128 info.itemButton = itemButton
129 block.itemButton = itemButton
130 usedButtons[info.questID] = itemButton 129 usedButtons[info.questID] = itemButton
130 print(' |cFF8800FFassigning|r', itemButton:GetName(), 'to quest|cFF00FF00', info.questID, '|rat|cFFFFFF00', block:GetName(),'|r')
131
132 for k,v in pairs(usedButtons) do
133 print('|cFFFF44DD'..k..'|r', v:GetName())
134 end
131 135
132 itemButton:SetAttribute("type", "item") 136 itemButton:SetAttribute("type", "item")
133 itemButton:SetAttribute("item", itemInfo.link) 137 itemButton:SetAttribute("item", itemInfo.link)
134 138
135 itemButton.questID = info.questID 139 itemButton.questID = info.questID
147 --- Clear an itemButton from the given block 151 --- Clear an itemButton from the given block
148 mod.FreeItemButtons = function(block) 152 mod.FreeItemButtons = function(block)
149 153
150 if block.itemButton then 154 if block.itemButton then
151 local itemButton = block.itemButton 155 local itemButton = block.itemButton
152 itemButton.block = nil 156 if itemButton.questID ~= block.info.questID then
153 itemButton:Hide() 157 block.itemButton = nil
154 158 itemButton.block = mod.Quest.InfoBlock[itemButton.questID]
155 usedButtons[itemButton.questID] = nil 159 else
156 freeButtons[#freeButtons + 1] = itemButton 160 itemButton.block = nil
157 mod.Quest.numButtons = mod.Quest.numButtons - 1 161 itemButton:Hide()
158 print('|cFFFF0088released', itemButton:GetName(),'and', block:GetName()) 162
163 usedButtons[itemButton.questID] = nil
164 freeButtons[#freeButtons + 1] = itemButton
165 mod.Quest.numButtons = mod.Quest.numButtons - 1
166 print('|cFFFF0088released', itemButton:GetName(),'and', block:GetName())
167 end
159 end 168 end
160 end 169 end
161 170
162 function Veneer_QuestObjectiveItem_OnUpdate (self, elapsed) 171 function Veneer_QuestObjectiveItem_OnUpdate (self, elapsed)
163 -- Handle range indicator 172 -- Handle range indicator