Mercurial > wow > buffalo2
comparison ObjectiveFrame.lua @ 16:880828018bf4
ObjectiveEvents
- trim down the number of events that fire full updates
- begin the general outline for determining which trackers need to refresh
- handlers for accepting and completing auto-popup quests
ObjectiveFrame
- correct variables for money reward calculation
- make sure everythign is scaling to the font strings and that the font strings aren't being pinned by SetSize
ObjectiveInfo
- implementation of autoquest popups
- discern between internal and client bonus objective indexes
- acquire the correct data set from bonus objective query
ObjectiveStyle
- look for a style table under the previously interpreted set before deferring standard options
- horizontal/vertical options in gradient
- remove height-fixing for font strings
author | Nenue |
---|---|
date | Tue, 05 Apr 2016 00:39:12 -0400 |
parents | f660f1c1e0aa |
children | d1812fb10ae6 |
comparison
equal
deleted
inserted
replaced
15:f660f1c1e0aa | 16:880828018bf4 |
---|---|
79 XPBar:Hide() | 79 XPBar:Hide() |
80 return | 80 return |
81 end | 81 end |
82 | 82 |
83 --- xp bar | 83 --- xp bar |
84 XPBar:SetWidth(wrapperWidth - Wrapper.close:GetWidth()) | 84 XPBar:SetWidth(mod.Conf.Wrapper.WrapperWidth - Wrapper.CloseButton:GetWidth()) |
85 XPBar.statusbg:SetAllPoints(XPBar) | 85 XPBar.statusbg:SetAllPoints(XPBar) |
86 XPBar:RegisterEvent('DISABLE_XP_GAIN') | 86 XPBar:RegisterEvent('DISABLE_XP_GAIN') |
87 XPBar:RegisterEvent('ENABLE_XP_GAIN') | 87 XPBar:RegisterEvent('ENABLE_XP_GAIN') |
88 XPBar:SetScript('OnEvent', mod.UpdateXP) | 88 XPBar:SetScript('OnEvent', mod.UpdateXP) |
89 | 89 |
241 --t.status:Show() | 241 --t.status:Show() |
242 --t.status:SetText(info.completionText) | 242 --t.status:SetText(info.completionText) |
243 --end | 243 --end |
244 | 244 |
245 if info.numObjectives >= 1 then | 245 if info.numObjectives >= 1 then |
246 t.attachmentHeight = textSpacing | 246 t.attachmentHeight = 0 |
247 t.status:Show() | 247 t.status:Show() |
248 print(' lines to build:', info.numObjectives) | 248 print(' lines to build:', info.numObjectives) |
249 | 249 |
250 local text = '' | 250 local text = '' |
251 | 251 |
254 t.status:SetText(info.description) | 254 t.status:SetText(info.description) |
255 else | 255 else |
256 t.status:SetText(nil) | 256 t.status:SetText(nil) |
257 end | 257 end |
258 t.title:SetText(info.title) | 258 t.title:SetText(info.title) |
259 print(' ', t.status:CanWordWrap(), t.status:GetStringHeight()) | |
259 | 260 |
260 | 261 |
261 if info.specialItem and not info.itemButton then | 262 if info.specialItem and not info.itemButton then |
262 print(' - |cFF00FFFFgenerating item button for info set') | 263 print(' - |cFF00FFFFgenerating item button for info set') |
263 info.itemButton = mod.SetItemButton(t, info) | 264 info.itemButton = mod.SetItemButton(t, info) |
271 t:SetPoint('TOPLEFT', previousBlock, 'BOTTOMLEFT', 0, 0) | 272 t:SetPoint('TOPLEFT', previousBlock, 'BOTTOMLEFT', 0, 0) |
272 t:SetPoint('RIGHT', tracker,'RIGHT', 0, 0) | 273 t:SetPoint('RIGHT', tracker,'RIGHT', 0, 0) |
273 print(' anchor to|cFF0088FF', previousBlock:GetName()) | 274 print(' anchor to|cFF0088FF', previousBlock:GetName()) |
274 end | 275 end |
275 | 276 |
277 | |
276 --- metrics are calculated in SetStyle | 278 --- metrics are calculated in SetStyle |
277 t:SetStyle('TrackerBlock', handler.name, t.mainStyle, t.subStyle) | 279 t:SetStyle('TrackerBlock', handler.name, t.mainStyle, t.subStyle) |
278 t:Show() | 280 t:Show() |
279 | 281 |
280 print(' |cFF00FFFF)|r -> ', t, t:GetHeight()) | 282 print(' |cFF00FFFF)|r -> ', t, t:GetHeight()) |
281 | 283 |
284 if info.rewardInfo then | |
285 print('has immediate reward') | |
286 if info.rewardInfo[1].type == 'currency' or info.rewardInfo[1].type == 'item' then | |
287 t.icon:Show() | |
288 t.iconLabel:SetText(info.rewardInfo[1].count) | |
289 t.icon:SetSize(t.height, t.height) | |
290 t.icon:SetTexture(info.rewardInfo[1].texture) | |
291 end | |
292 | |
293 else | |
294 t.icon:Hide() | |
295 end | |
282 | 296 |
283 if Devian and Devian.InWorkspace() then | 297 if Devian and Devian.InWorkspace() then |
284 t.debugText:Show() | 298 t.debugText:Show() |
285 t.debugText:SetText(tostring(blockIndex) .. '\n' .. tostring(info.itemButton and info.itemButton:GetName()) .. "\n" .. (tostring(t.mainStyle) .. '/' .. tostring(t.subStyle))) | 299 t.debugText:SetText(tostring(blockIndex) .. '\n' .. tostring(info.itemButton and info.itemButton:GetName()) .. "\n" .. (tostring(t.mainStyle) .. '/' .. tostring(t.subStyle))) |
286 end | 300 end |
307 line.title = nil | 321 line.title = nil |
308 end | 322 end |
309 | 323 |
310 | 324 |
311 if line.widget then | 325 if line.widget then |
326 if attachmentHeight == 0 then | |
327 attachmentHeight = block.status.spacing | |
328 end | |
329 | |
312 line.widget:Show() | 330 line.widget:Show() |
313 line.widget:SetParent(block) | 331 line.widget:SetParent(block) |
314 line.widget:SetPoint('TOPLEFT', block.status, 'BOTTOMLEFT', 0, -attachmentHeight ) | 332 line.widget:SetPoint('TOPLEFT', block.status, 'BOTTOMLEFT', 0, -attachmentHeight ) |
315 print(' has a widget, height is', line.widget.height) | 333 print(' has a widget, height is', line.widget.height) |
316 attachmentHeight = attachmentHeight + line.widget.height | 334 attachmentHeight = attachmentHeight + line.widget.height |
327 | 345 |
328 block.completionScore = completionScore / completionMax | 346 block.completionScore = completionScore / completionMax |
329 block.attachmentHeight = attachmentHeight | 347 block.attachmentHeight = attachmentHeight |
330 | 348 |
331 block.status:SetText(text) | 349 block.status:SetText(text) |
350 block.status:SetWordWrap(true) | |
332 end | 351 end |
333 | 352 |
334 --- Objective parsers | 353 --- Objective parsers |
335 -- defines the following variables | 354 -- defines the following variables |
336 -- * height - height of whatever display widget is involved in conveying the task | 355 -- * height - height of whatever display widget is involved in conveying the task |
349 | 368 |
350 end | 369 end |
351 | 370 |
352 Bonus.ParseObjective = function(line, info) | 371 Bonus.ParseObjective = function(line, info) |
353 local print = B.print('BonusLine') | 372 local print = B.print('BonusLine') |
354 for k,v in pairs(line) do | 373 |
355 print(k, v) | |
356 end | |
357 | 374 |
358 line.displayColor = 'FFFFFF' | 375 line.displayColor = 'FFFFFF' |
359 if line.text and not info.title then | 376 if line.text and not info.title then |
360 line.title = line.text | 377 line.title = line.text |
361 else | 378 else |
423 | 440 |
424 | 441 |
425 mod.Quest.numButtons = 0 | 442 mod.Quest.numButtons = 0 |
426 local usedButtons = mod.Quest.itemButtons | 443 local usedButtons = mod.Quest.itemButtons |
427 local freeButtons = mod.Quest.freeButtons | 444 local freeButtons = mod.Quest.freeButtons |
428 mod.UpdateWrapper = function() | 445 mod.UpdateWrapper = function(reason) |
446 print('|cFF00FFFFUpdateWrapper:|r', reason) | |
429 unitLevel = UnitLevel('player') | 447 unitLevel = UnitLevel('player') |
430 wrapperWidth = mod.Conf.Wrapper.WrapperWidth | 448 wrapperWidth = mod.Conf.Wrapper.WrapperWidth |
431 scrollWidth = mod.Conf.Wrapper.WrapperWidth | 449 scrollWidth = mod.Conf.Wrapper.WrapperWidth |
432 local wrapperBlocks = 0 | 450 local wrapperBlocks = 0 |
433 -- Update scroll child vertical size | 451 -- Update scroll child vertical size |