File choir.lua changed (mode: 100644) (index a38c727..cf4f76b) |
... |
... |
local function createBackground(ownerFrame) |
142 |
142 |
return background |
return background |
143 |
143 |
end |
end |
144 |
144 |
|
|
|
145 |
|
local function createUnitButtonRoleWidget(unitButton) |
|
146 |
|
assert (unitButton ~= nil) |
|
147 |
|
|
|
148 |
|
local widgetSize = 12 |
|
149 |
|
local roleWidget = unitButton:CreateTexture(unitButton:GetName() .. 'RoleWidget', 'OVERLAY') |
|
150 |
|
roleWidget:SetPoint('TOPRIGHT', unitButton, 'TOPRIGHT', 0, 0) |
|
151 |
|
roleWidget:SetPoint('BOTTOMLEFT', unitButton, 'TOPRIGHT', -widgetSize, -widgetSize) |
|
152 |
|
roleWidget:SetTexture("Interface\\LFGFrame\\UI-LFG-ICON-PORTRAITROLES.blp") |
|
153 |
|
|
|
154 |
|
return roleWidget |
|
155 |
|
end |
|
156 |
|
|
145 |
157 |
local function getUnitHealthDeficit(unitDesignation) |
local function getUnitHealthDeficit(unitDesignation) |
146 |
158 |
assert (unitDesignation ~= nil) |
assert (unitDesignation ~= nil) |
147 |
159 |
|
|
|
... |
... |
local function createUnitButtonBar(unitButton) |
311 |
323 |
return bar |
return bar |
312 |
324 |
end |
end |
313 |
325 |
|
|
|
326 |
|
local function getRoleTexCoord(isTank, isHealer, isDamager) |
|
327 |
|
local size = 64 |
|
328 |
|
if isTank then |
|
329 |
|
return 0 / size, 19 / size, 22 / size, 41 / size |
|
330 |
|
elseif isHealer then |
|
331 |
|
return 20 / size, 39 / size, 1 / size, 20 / size |
|
332 |
|
elseif isDamager then |
|
333 |
|
return 20 / size, 39 / size, 22 / size, 41 / size |
|
334 |
|
else |
|
335 |
|
error('invalid argument') |
|
336 |
|
end |
|
337 |
|
end |
|
338 |
|
|
|
339 |
|
local function updateUnitButtonRoleWidget(roleWidget, unitDesignation) |
|
340 |
|
assert (roleWidget ~= nil) |
|
341 |
|
assert (unitDesignation ~= nil) |
|
342 |
|
|
|
343 |
|
local isTank, isHealer, isDamager = UnitGroupRolesAssigned(unitDesignation) |
|
344 |
|
if isTank or isHealer or isDamager then |
|
345 |
|
roleWidget:Show() |
|
346 |
|
roleWidget:SetTexCoord(getRoleTexCoord(isTank, isHealer, isDamager)) |
|
347 |
|
else |
|
348 |
|
roleWidget:Hide() |
|
349 |
|
end |
|
350 |
|
end |
|
351 |
|
|
314 |
352 |
local function unitButtonEventProcessor(unitButton) |
local function unitButtonEventProcessor(unitButton) |
315 |
353 |
assert (unitButton ~= nil) |
assert (unitButton ~= nil) |
316 |
354 |
|
|
|
... |
... |
local function unitButtonEventProcessor(unitButton) |
328 |
366 |
|
|
329 |
367 |
updateUnitButtonBarOverlay(bar, unitDesignation) |
updateUnitButtonBarOverlay(bar, unitDesignation) |
330 |
368 |
updateUnitButtonBarText(bar, unitDesignation) |
updateUnitButtonBarText(bar, unitDesignation) |
|
369 |
|
updateUnitButtonRoleWidget(unitButton.roleWidget, unitDesignation) |
331 |
370 |
end |
end |
332 |
371 |
|
|
333 |
372 |
local function createInheritanceHandler(unitButton) |
local function createInheritanceHandler(unitButton) |
|
... |
... |
local function createUnitButton(parentFrame, frameName, unit, width, height) |
416 |
455 |
local bar = createUnitButtonBar(u) |
local bar = createUnitButtonBar(u) |
417 |
456 |
u.bar = bar |
u.bar = bar |
418 |
457 |
|
|
|
458 |
|
local roleWidget = createUnitButtonRoleWidget(u) |
|
459 |
|
u.roleWidget = roleWidget |
|
460 |
|
|
419 |
461 |
createUnitButtonExistanceHandler(u) |
createUnitButtonExistanceHandler(u) |
420 |
462 |
|
|
421 |
463 |
u:SetAttribute('type', 'target') |
u:SetAttribute('type', 'target') |
|
... |
... |
local function createUnitButton(parentFrame, frameName, unit, width, height) |
428 |
470 |
u:RegisterEvent('RAID_ROSTER_UPDATE') |
u:RegisterEvent('RAID_ROSTER_UPDATE') |
429 |
471 |
u:RegisterEvent('UPDATE_BATTLEFIELD_SCORE') |
u:RegisterEvent('UPDATE_BATTLEFIELD_SCORE') |
430 |
472 |
u:RegisterEvent('ADDON_LOADED') |
u:RegisterEvent('ADDON_LOADED') |
|
473 |
|
u:RegisterEvent('LFG_ROLE_UPDATE') |
431 |
474 |
|
|
432 |
475 |
assert (u ~= nil) |
assert (u ~= nil) |
433 |
476 |
return u |
return u |
|
... |
... |
end |
651 |
694 |
local function raidGroupEventProcessor(groupFrame) |
local function raidGroupEventProcessor(groupFrame) |
652 |
695 |
assert (groupFrame ~= nil) |
assert (groupFrame ~= nil) |
653 |
696 |
|
|
654 |
|
local u0, u1, u2, u3, u4 = groupFrame:GetChildren() |
|
655 |
|
assert (u0 ~= nil) |
|
656 |
|
assert (u1 ~= nil) |
|
657 |
|
assert (u2 ~= nil) |
|
658 |
|
assert (u3 ~= nil) |
|
659 |
|
assert (u4 ~= nil) |
|
|
697 |
|
local t = {groupFrame:GetChildren()} |
|
698 |
|
|
|
699 |
|
local groupExists = false |
660 |
700 |
|
|
661 |
|
local groupExists = UnitExists(u0:GetAttribute('unit') or 'none') or |
|
662 |
|
UnitExists(u1:GetAttribute('unit') or 'none') or |
|
663 |
|
UnitExists(u2:GetAttribute('unit') or 'none') or |
|
664 |
|
UnitExists(u3:GetAttribute('unit') or 'none') or |
|
665 |
|
UnitExists(u4:GetAttribute('unit') or 'none') |
|
|
701 |
|
local i = 0 |
|
702 |
|
while (i < #t) do |
|
703 |
|
i = i + 1 |
|
704 |
|
local u = t[i] |
|
705 |
|
if UnitExists(u:GetAttribute('unit') or 'none') then |
|
706 |
|
groupExists = true |
|
707 |
|
end |
|
708 |
|
end |
666 |
709 |
|
|
667 |
710 |
if groupExists then |
if groupExists then |
668 |
711 |
groupFrame:Show() |
groupFrame:Show() |
|
... |
... |
end |
674 |
717 |
local function partyFrameEventProcessor(playerPartyFrame) |
local function partyFrameEventProcessor(playerPartyFrame) |
675 |
718 |
assert (playerPartyFrame ~= nil) |
assert (playerPartyFrame ~= nil) |
676 |
719 |
|
|
677 |
|
local isRaid = UnitPlayerOrPetInRaid('player') |
|
|
720 |
|
local t = {playerPartyFrame:GetChildren()} |
|
721 |
|
local isRaid = 1 == UnitPlayerOrPetInRaid('player') |
678 |
722 |
if isRaid then |
if isRaid then |
679 |
|
local p0, p1, p2, p3, p4 = playerPartyFrame:GetChildren() |
|
680 |
|
UnregisterUnitWatch(p0) |
|
681 |
|
UnregisterUnitWatch(p1) |
|
682 |
|
UnregisterUnitWatch(p2) |
|
683 |
|
UnregisterUnitWatch(p3) |
|
684 |
|
UnregisterUnitWatch(p4) |
|
685 |
723 |
playerPartyFrame:Hide() |
playerPartyFrame:Hide() |
686 |
|
elseif not playerPartyFrame:IsShown() then |
|
687 |
|
local p0, p1, p2, p3, p4 = playerPartyFrame:GetChildren() |
|
688 |
|
RegisterUnitWatch(p0, true) |
|
689 |
|
RegisterUnitWatch(p1, true) |
|
690 |
|
RegisterUnitWatch(p2, true) |
|
691 |
|
RegisterUnitWatch(p3, true) |
|
692 |
|
RegisterUnitWatch(p4, true) |
|
|
724 |
|
else |
693 |
725 |
playerPartyFrame:Show() |
playerPartyFrame:Show() |
694 |
726 |
end |
end |
|
727 |
|
local i = 0 |
|
728 |
|
while (i < #t) do |
|
729 |
|
i = i + 1 |
|
730 |
|
local p = t[i] |
|
731 |
|
if isRaid then |
|
732 |
|
UnregisterUnitWatch(p) |
|
733 |
|
else |
|
734 |
|
RegisterUnitWatch(p, true) |
|
735 |
|
end |
|
736 |
|
end |
695 |
737 |
end |
end |
696 |
738 |
|
|
697 |
739 |
local function createRaidGroupLabel(groupFrame, groupNumber) |
local function createRaidGroupLabel(groupFrame, groupNumber) |