comparison ObjectiveTracker.lua @ 2:a2396b03ce63

- identify action buttons by the associated QuestID instead of QuestLogIndex - deferred button placement in general to a self-destructing OnUpdate -- and defer self-destruct to a end of combat event if InCombatLockdown - tracker wrapper has an experience/reputation bar; the two elements "feel" related and it's a very simple info display
author Nenue
date Thu, 31 Mar 2016 01:38:47 -0400
parents b0447b382f36
children 3397aae1f44d
comparison
equal deleted inserted replaced
1:b0447b382f36 2:a2396b03ce63
149 Tracker.Watched = {} -- find by watchIndex 149 Tracker.Watched = {} -- find by watchIndex
150 Tracker.Info = {} -- find by data ID 150 Tracker.Info = {} -- find by data ID
151 Tracker.BlockInfo = {} -- find by block ID 151 Tracker.BlockInfo = {} -- find by block ID
152 Tracker.LogInfo = {} -- find by log ID (quest log mainly) 152 Tracker.LogInfo = {} -- find by log ID (quest log mainly)
153 Tracker.WatchBlock = {} 153 Tracker.WatchBlock = {}
154 Tracker.WatchInfo = {}
154 Tracker.LogBlock = {} 155 Tracker.LogBlock = {}
155 156
156 157
157 158
158 Tracker.GetBlock = function(handler, blockIndex) 159 Tracker.GetBlock = function(handler, blockIndex)
170 handler.usedBlocks[blockIndex] = block 171 handler.usedBlocks[blockIndex] = block
171 end 172 end
172 return handler.usedBlocks[blockIndex] 173 return handler.usedBlocks[blockIndex]
173 end 174 end
174 local SmallEvents = { 175 local SmallEvents = {
175 QUEST_ACCEPTED = 'OnQuestAccepted' 176 QUEST_ACCEPTED = 'OnQuestAccepted',
177 QUEST_REMOVED = 'OnQuestRemoved'
176 } 178 }
177 179
178 local HandlerEvents = { 180 local HandlerEvents = {
179 QUEST_ACCEPTED = mod.Quest, 181 QUEST_ACCEPTED = mod.Quest,
182 QUEST_REMOVED = mod.Quest,
180 QUEST_WATCH_LIST_CHANGED = mod.Quest, 183 QUEST_WATCH_LIST_CHANGED = mod.Quest,
181 SUPER_TRACKED_QUEST_CHANGED = mod.Quest, 184 SUPER_TRACKED_QUEST_CHANGED = mod.Quest,
182 QUEST_LOG_UPDATE = mod.Quest, 185 QUEST_LOG_UPDATE = mod.Quest,
183 TRACKED_ACHIEVEMENT_LIST_CHANGED = mod.Cheevs, 186 TRACKED_ACHIEVEMENT_LIST_CHANGED = mod.Cheevs,
184 TRACKED_ACHIEVEMENT_UPDATE = mod.Cheevs 187 TRACKED_ACHIEVEMENT_UPDATE = mod.Cheevs
204 frame_guide_init(Scroller) 207 frame_guide_init(Scroller)
205 frame_guide(Scroller, Scroller) 208 frame_guide(Scroller, Scroller)
206 end 209 end
207 end 210 end
208 211
212 mod.SetEvents = function()
213
214 for event, _ in pairs(SmallEvents) do
215 mod:RegisterEvent(event)
216 end
217
218 for event, _ in pairs(HandlerEvents) do
219 mod:RegisterEvent(event)
220 end
221 mod:SetScript('OnEvent', mod.OnEvent)
222 end
223
209 function mod:OnInitialize() 224 function mod:OnInitialize()
210 self.InitializeTrackers() 225 self.InitializeTrackers()
211 for event, _ in pairs(SmallEvents) do 226
212 self:RegisterEvent(event) 227 mod.SetEvents()
213 end
214
215 for event, _ in pairs(HandlerEvents) do
216 self:RegisterEvent(event)
217 end
218 self:SetScript('OnEvent', mod.OnEvent)
219
220 ObjectiveTrackerFrame:UnregisterAllEvents() 228 ObjectiveTrackerFrame:UnregisterAllEvents()
221 ObjectiveTrackerFrame:Hide() 229 ObjectiveTrackerFrame:Hide()
230
222 end 231 end
223 232
224 --[[ 233 --[[
225 QUESTLINE_UPDATE This event is not yet documented 234 QUESTLINE_UPDATE This event is not yet documented
226 QUESTTASK_UPDATE This event is not yet documented 235 QUESTTASK_UPDATE This event is not yet documented