8da63c0 - Add incoming res icon
[wowui.git] / OmaRF / FrameInit.lua
index df34967..510751e 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);
@@ -195,6 +202,11 @@ local function setupFrame(frame, secure, unit)
     frame.text:SetFont(STANDARD_TEXT_FONT, 13);
     frame.text:SetPoint("CENTER", frame.background, "CENTER", 0, -1);
     frame.text:Hide();
+    frame.rez = frame:CreateTexture(nil, "OVERLAY");
+    frame.rez:SetPoint("TOPLEFT", frame.background, "CENTER", -12, 12);
+    frame.rez:SetPoint("BOTTOMRIGHT", frame.background, "CENTER", 12, -12);
+    frame.rez:SetTexture("Interface\\RaidFrame\\Raid-Icon-Rez");
+    frame.rez:Hide();
     setupIndicators(frame);
     frame:SetScript("OnShow", frameShow);
     frame:SetScript("OnHide", frameHide);