7b95a32 - Add role icon
[wowui.git] / OmaRF / FrameInit.lua
index df34967..35de1d1 100644 (file)
@@ -102,15 +102,9 @@ end
 
 function M.RegisterEvents(frame)
     -- events are taken from FrameXML/CompactUnitFrame.lua
-    -- TODO vehicle support, ready check support, raid marker support,
+    -- TODO ready check support, raid marker support,
     -- player flags support (/afk, /dnd)
-    -- TODO only update for vehicle events here
     local displayed = frame.unit ~= frame.displayed and frame.displayed or nil;
-    frame:RegisterEvent("PARTY_MEMBER_ENABLE");
-    frame:RegisterEvent("PARTY_MEMBER_DISABLE");
-    frame:RegisterEvent("UNIT_ENTERED_VEHICLE");
-    frame:RegisterEvent("UNIT_EXITED_VEHICLE");
-    frame:RegisterEvent("UNIT_PET");
     frame:RegisterUnitEvent("UNIT_HEALTH", frame.unit, displayed);
     frame:RegisterUnitEvent("UNIT_HEALTH_FREQUENT", frame.unit, displayed);
     frame:RegisterUnitEvent("UNIT_MAXHEALTH", frame.unit, displayed);
@@ -129,6 +123,13 @@ end
 local registerEvents = M.RegisterEvents;
 
 local function frameShow(frame)
+    frame:RegisterEvent("PARTY_MEMBER_ENABLE");
+    frame:RegisterEvent("PARTY_MEMBER_DISABLE");
+    frame:RegisterEvent("UNIT_ENTERED_VEHICLE");
+    frame:RegisterEvent("UNIT_EXITED_VEHICLE");
+    frame:RegisterEvent("UNIT_PET");
+    frame:RegisterEvent("PLAYER_ROLES_ASSIGNED");
+    frame:RegisterEvent("GROUP_ROSTER_UPDATE");
     registerEvents(frame);
     frame:SetScript("OnUpdate", unitUpdate);
     unitEvent(frame, "UPDATE_ALL_BARS", frame.displayed);
@@ -184,6 +185,12 @@ local function setupFrame(frame, secure, unit)
     frame.healabsorb:SetPoint("BOTTOMRIGHT", frame.health, "BOTTOMRIGHT");
     frame.healabsorb:SetColorTexture(unpack(healabsorbColor));
     frame.healabsorb:Hide();
+    frame.role = frame:CreateTexture(nil, "ARTWORK");
+    frame.role:SetPoint("BOTTOMRIGHT", frame.background, "BOTTOMRIGHT", -2, 2);
+    frame.role:SetPoint("TOPLEFT", frame.background, "BOTTOMRIGHT", -14, 14);
+    frame.role:SetTexCoord(0.75, 1, 0, 1);
+    frame.role:SetTexture("Interface\\LFGFRAME\\LFGROLE");
+    frame.role:Hide();
     frame.overlay = frame:CreateTexture(nil, "ARTWORK", nil, 1);
     frame.overlay:SetPoint("TOPLEFT", frame.background, "TOPLEFT");
     frame.overlay:SetPoint("BOTTOMRIGHT", frame.background, "BOTTOMRIGHT", 0, 2);