Advertisement
Guest User

Untitled

a guest
Dec 18th, 2013
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.25 KB | None | 0 0
  1. local roleColors = {
  2.    TANK    = {0.2, 0.2, 0.8},
  3.    HEALER  = {0, 0.7, 0},
  4.    DAMAGER = {0.7, 0, 0},
  5.    NONE    = {0.7, 0.7, 0.7},
  6. }
  7.  
  8. function NewSecureGroupHeader(name)
  9.    local header = _G[name] or CreateFrame("Frame", name, UIParent, "SecureGroupHeaderTemplate")
  10.    
  11.    header:SetAttribute("showRaid", true)
  12.    header:SetAttribute("point", "LEFT")
  13.    header:SetAttribute("xOffset", 1)
  14.    header:SetAttribute("unitsPerColumn", 5)
  15.    header:SetAttribute("maxColumns", 8)
  16.    header:SetAttribute("columnAnchorPoint", "TOP")
  17.    header:SetAttribute("columnSpacing", 1)
  18.    header:SetAttribute("template", "AuraButtonTemplate, SecureUnitButtonTemplate")
  19.    
  20.    header:SetAttribute("initialConfigFunction", [[
  21.       self:SetAttribute("*type1", "target")
  22.    ]])
  23.    
  24.    header.e = header.e or CreateFrame("Frame")
  25.    header.e:RegisterEvent("GROUP_ROSTER_UPDATE")
  26.    header.e:RegisterEvent("PLAYER_ROLES_ASSIGNED")
  27.    header.e:SetScript("OnEvent", function(self, event, ...)
  28.          for i, frame in ipairs(header) do
  29.             frame:SetScript("OnEnter", nil)
  30.             frame:SetScript("OnLeave", nil)
  31.             frame.bg = frame.bg or frame:CreateTexture()
  32.             frame.bg:SetAllPoints()
  33.             local unit = frame:GetAttribute("unit")
  34.             frame.bg:SetTexture(unpack(roleColors[UnitGroupRolesAssigned(unit)]))
  35.          end
  36.    end)
  37.    
  38.    return header
  39. end
  40.  
  41. local tanks = NewSecureGroupHeader("LombleRaidTanks")
  42. tanks:SetAttribute("roleFilter", "TANK")
  43. tanks:SetPoint("TOPLEFT", 32, -32)
  44. tanks:Show()
  45.  
  46. local healers = NewSecureGroupHeader("LombleRaidHealers")
  47. healers:SetAttribute("roleFilter", "HEALER")
  48. healers:SetPoint("TOPLEFT", tanks, "BOTTOMLEFT", 0, -4)
  49. healers:Show()
  50.  
  51. local damagers = NewSecureGroupHeader("LombleRaidDamagers")
  52. damagers:SetAttribute("roleFilter", "DAMAGER")
  53. damagers:SetPoint("TOPLEFT", healers, "BOTTOMLEFT", 0, -4)
  54. damagers:Show()
  55.  
  56. local none = NewSecureGroupHeader("LombleRaidNone")
  57. none:SetAttribute("roleFilter", "NONE")
  58. none:SetPoint("TOPLEFT", damagers, "BOTTOMLEFT", 0, -4)
  59. none:Show()
  60.  
  61. local raid = NewSecureGroupHeader("LombleRaidAll")
  62. raid:SetAttribute("groupingOrder", "TANK,HEALER,DAMAGER,NONE")
  63. raid:SetAttribute("groupBy", "ASSIGNEDROLE")
  64. raid:SetPoint("TOPLEFT", 192, -32)
  65. raid:Show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement