comparison ObjectiveTracker/Frame.lua @ 32:a3afe6c3771e

- organize and display reward icons as a background hint - centralize reward data function
author Nenue
date Fri, 15 Apr 2016 07:01:40 -0400
parents 48b3e3959a0a
children 64f2a9bbea79
comparison
equal deleted inserted replaced
31:48b3e3959a0a 32:a3afe6c3771e
77 } 77 }
78 78
79 local wrapperMaxWidth, wrapperMaxHeight = 270, 490 -- these are the hard bounds, actual *Height variables are changed 79 local wrapperMaxWidth, wrapperMaxHeight = 270, 490 -- these are the hard bounds, actual *Height variables are changed
80 local wrapperHeadFont, wrapperHeadSize, wrapperHeadOutline = [[Interface\Addons\SharedMedia_MyMedia\font\ArchivoNarrow-Bold.ttf]], 16, 'NONE' 80 local wrapperHeadFont, wrapperHeadSize, wrapperHeadOutline = [[Interface\Addons\SharedMedia_MyMedia\font\ArchivoNarrow-Bold.ttf]], 16, 'NONE'
81 local wrapperPosition = {'RIGHT', UIParent, 'RIGHT', -84, 0 } 81 local wrapperPosition = {'RIGHT', UIParent, 'RIGHT', -84, 0 }
82 local rewardSize = 32 82 local rewardSize = 24
83 local oprint = B.print('Objectives') 83 local oprint = B.print('Objectives')
84 local bprint = B.print('Block') 84 local bprint = B.print('Block')
85 local tprint = B.print('Tracker') 85 local tprint = B.print('Tracker')
86 local lprint = B.print('Line') 86 local lprint = B.print('Line')
87 87
246 246
247 block.SelectionOverlay:SetGradientAlpha(unpack(Module.colors.default.selectionbg)) 247 block.SelectionOverlay:SetGradientAlpha(unpack(Module.colors.default.selectionbg))
248 block.SelectionOverlay:SetPoint('TOPLEFT', selectionIndent, 0) 248 block.SelectionOverlay:SetPoint('TOPLEFT', selectionIndent, 0)
249 block.SelectionOverlay:SetPoint('BOTTOMRIGHT') 249 block.SelectionOverlay:SetPoint('BOTTOMRIGHT')
250 250
251 block.icon:SetSize(rewardSize, rewardSize) 251 --block.icon:SetSize(rewardSize, rewardSize)
252 block.icon:SetPoint('TOPRIGHT', block, 'TOPRIGHT', -2, -2) 252 --block.icon:SetPoint()
253 local anchor, target, point, x, y = 'TOPRIGHT', block, 'TOPRIGHT', -2, -2
254 for i, tile in ipairs(block.rewardTile) do
255 print(rewardSize)
256 tile:SetSize(rewardSize, rewardSize)
257 tile:ClearAllPoints()
258 tile:SetPoint(anchor, target, point, x, y)
259 block.rewardLabel[i]:SetPoint('TOP', tile, 'TOP', 0, -2)
260 anchor, target, point, x, y = 'TOPRIGHT', tile, 'TOPLEFT', -2, 0
261 end
253 262
254 263
255 --- methods for event handlers 264 --- methods for event handlers
256 265
257 block.Select = handler.Select 266 block.Select = handler.Select
526 info.itemButton = Module.SetItemButton(block, info) 535 info.itemButton = Module.SetItemButton(block, info)
527 else 536 else
528 --info.itemButton = nil 537 --info.itemButton = nil
529 end 538 end
530 539
531 local tagPoint, tagAnchor, tagRelative = 'TOPRIGHT', block, 'TOPRIGHT' 540 local tagPoint, tagAnchor, tagRelative, x, y = 'TOPRIGHT', block, 'TOPRIGHT', -2, -2
532 541
533 if info.rewardInfo then 542 local numCurrency = 0
534 print('has immediate reward') 543 for i, rewardTile in ipairs(block.rewardTile) do
535 if info.rewardInfo[1].type == 'currency' or info.rewardInfo[1].type == 'item' then 544 local reward = info.rewardInfo[i]
536 block.icon:Show() 545 if reward then
537 block.iconLabel:SetText(info.rewardInfo[1].count) 546 --rewardTile:SetPoint(tagPoint, tagAnchor, tagRelative, -2, -2)
538 block.icon:SetPoint(tagPoint, tagAnchor, tagRelative, -2, -2) 547 rewardTile:SetTexture(reward.texture)
539 tagPoint, tagAnchor, tagRelative = 'TOPRIGHT', block.icon, 'TOPLEFT' 548 rewardTile:Show()
540 block.icon:SetTexture(info.rewardInfo[1].texture) 549
541 end 550 print('updating reward tile #'.. i, reward.type, reward.count, reward.text, reward.texture)
542 else 551 if reward.count and reward.count > 1 then
543 block.icon:Hide() 552 block.rewardLabel[i]:SetText(reward.count)
553 block.rewardLabel[i]:Show()
554 end
555
556 rewardTile:ClearAllPoints()
557 rewardTile:SetPoint(tagPoint, tagAnchor, tagRelative, x, y)
558 tagPoint, tagAnchor, tagRelative, x, y = 'TOPRIGHT', rewardTile, 'TOPLEFT', -2, 0
559 else
560 rewardTile:Hide()
561 block.rewardLabel[i]:Hide()
562 end
544 end 563 end
545 564
546 if info.selected then 565 if info.selected then
547 block.SelectionOverlay:Show() 566 block.SelectionOverlay:Show()
548 else 567 else
576 595
577 local displayObjectiveHeader = false 596 local displayObjectiveHeader = false
578 597
579 block.attachmentHeight = 0 598 block.attachmentHeight = 0
580 local text, attachment, template 599 local text, attachment, template
581 if info.statusKey and (Devian and Devian.InWorkspace()) then
582 handler:AddLine(block, info.statusKey, nil)
583 end
584 600
585 601
586 if info.description and #info.description >= 1 then 602 if info.description and #info.description >= 1 then
587 print(' |cFF00FFFF header line:|r', info.description) 603 print(' |cFF00FFFF header line:|r', info.description)
588 text = info.description 604 text = info.description
605 621
606 end 622 end
607 end 623 end
608 end 624 end
609 625
626 if info.statusKey and (Devian and Devian.InWorkspace()) then
627 handler:AddLine(block, info.statusKey, nil)
628 end
629
610 for i = block.currentLine + 1, block.numLines do 630 for i = block.currentLine + 1, block.numLines do
611 print(i, block.numLines) 631 print(i, block.numLines)
612 print(' - hide |cFFFF0088'..i..'|r', block.lines[i]) 632 print(' - hide |cFFFF0088'..i..'|r', block.lines[i])
613 block.lines[i]:ClearAllPoints() 633 block.lines[i]:ClearAllPoints()
614 block.lines[i]:Hide() 634 block.lines[i]:Hide()