local _;
local unpack, pairs = unpack, pairs;
local format = string.format;
-local CreateFrame, RegisterStateDriver, RegisterUnitWatch = CreateFrame, RegisterStateDriver, RegisterUnitWatch;
-local STANDARD_TEXT_FONT = STANDARD_TEXT_FONT;
-local GameTooltip = nil;
-local GameTooltip_SetDefaultAnchor = nil;
+local GameTooltip = GameTooltip;
+local GameTooltip_SetDefaultAnchor = GameTooltip_SetDefaultAnchor;
local registerUnitEvents = OmaUFEvents.RegisterUnitEvents;
+local registerCastEvents = OmaUFCastBar.RegisterCastEvents;
+local unregisterCastEvents = OmaUFCastBar.UnregisterCastEvents;
local unitEvent = OmaUFEvents.UnitEvent;
local createAuraFrame = OmaUFAuras.CreateAuraFrame;
local attributes = {};
local inheritedFrames = "SecureUnitButtonTemplate,SecureHandlerStateTemplate";
+local barTexture = "Interface\\AddOns\\OmaRF\\images\\minimalist";
local function frameShow(frame)
- frame:RegisterEvent("UNIT_ENTERED_VEHICLE");
- frame:RegisterEvent("UNIT_EXITED_VEHICLE");
- frame:RegisterEvent("UNIT_PET");
- frame:RegisterEvent("GROUP_ROSTER_UPDATE"); -- TODO needed? won't be having group number in frames
+ frame:RegisterEvent("GROUP_ROSTER_UPDATE");
frame:RegisterEvent("PLAYER_ENTERING_WORLD");
frame:RegisterEvent("PLAYER_TARGET_CHANGED");
frame:RegisterEvent("PARTY_LEADER_CHANGED");
frame:RegisterUnitEvent("UNIT_LEVEL", frame.unit);
registerUnitEvents(frame);
+ registerCastEvents(frame.castbar);
unitEvent(frame, "UPDATE_ALL_BARS");
end
local function frameHide(frame)
frame:UnregisterAllEvents();
+ unregisterCastEvents(frame.castbar);
end
local function showTooltip(secure)
GameTooltip:FadeOut();
end
-function OmaUnitFrames.InitializeTarget(parent)
+function OmaUnitFrames.UpdateTargetTooltips()
GameTooltip = _G["GameTooltip"];
GameTooltip_SetDefaultAnchor = _G["GameTooltip_SetDefaultAnchor"];
+end
+
+function OmaUnitFrames.InitializeTarget(parent)
attributes = Settings.Character.Clickheal;
local secure = CreateFrame("Button", "OmaTargetSecure", parent, inheritedFrames);
frame:SetAttribute("unit", unit);
frame.unit = unit;
frame.displayed = unit;
- --frame.vehicle = unit.."pet"; -- TODO nothing extra needed for target vehicles?
-- hide frame to get initial frameShow call
frame:Hide();
-- create visuals
frame.healthback = frame:CreateTexture(nil, "BACKGROUND", nil, 1);
frame.healthback:SetPoint("TOPLEFT", frame, "TOPLEFT", 1, -1);
frame.healthback:SetPoint("BOTTOMRIGHT", frame, "RIGHT", -1, -5);
- frame.healthback:SetTexture("Interface\\RaidFrame\\Raid-Bar-Hp-Fill");
+ frame.healthback:SetTexture(barTexture);
frame.healthback:SetVertexColor(unpack(bgColor));
frame.health = frame:CreateTexture(nil, "BORDER");
frame.health:SetPoint("TOPLEFT", frame.healthback, "TOPLEFT");
frame.health:SetPoint("BOTTOMLEFT", frame.healthback, "BOTTOMLEFT");
- frame.health:SetTexture("Interface\\RaidFrame\\Raid-Bar-Hp-Fill");
+ frame.health:SetTexture(barTexture);
frame.health:SetVertexColor(unpack(healthColor));
frame.healthText = frame:CreateFontString(nil, "ARTWORK", "GameFontHighlightLarge");
- frame.healthText:SetPoint("RIGHT", frame.healthback, "RIGHT", -2, 0);
+ frame.healthText:SetPoint("RIGHT", frame.healthback, "RIGHT", -2, 1);
frame.manaback = frame:CreateTexture(nil, "BACKGROUND", nil, 1);
frame.manaback:SetPoint("TOPLEFT", frame, "LEFT", 1, -5);
frame.manaback:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -1, 1);
- frame.manaback:SetTexture("Interface\\RaidFrame\\Raid-Bar-Hp-Fill");
+ frame.manaback:SetTexture(barTexture);
frame.manaback:SetVertexColor(unpack(bgColor));
frame.mana = frame:CreateTexture(nil, "BORDER");
frame.mana:SetPoint("TOPLEFT", frame.manaback, "TOPLEFT");
frame.mana:SetPoint("BOTTOMLEFT", frame.manaback, "BOTTOMLEFT");
- frame.mana:SetTexture("Interface\\RaidFrame\\Raid-Bar-Hp-Fill");
+ frame.mana:SetTexture(barTexture);
frame.manaText = frame:CreateFontString(nil, "ARTWORK", "GameFontHighlight");
- frame.manaText:SetPoint("RIGHT", frame.manaback, "RIGHT", -2, 0);
+ frame.manaText:SetPoint("RIGHT", frame.manaback, "RIGHT", -2, 1);
frame.manaText:Hide();
frame.shield = frame:CreateTexture(nil, "BORDER");
frame.shield:SetPoint("TOPLEFT", frame.health, "TOPRIGHT");
frame.shield:SetPoint("BOTTOMLEFT", frame.health, "BOTTOMRIGHT");
- frame.shield:SetTexture("Interface\\RaidFrame\\Shield-Fill");
+ frame.shield:SetTexture(barTexture);
frame.shield:SetVertexColor(unpack(shieldColor));
frame.shield:Hide();
frame.shieldhl = frame:CreateTexture(nil, "ARTWORK");
frame.leader:Hide();
frame.name = frame:CreateFontString(nil, "OVERLAY", "GameFontHighlightLarge");
frame.name:SetPoint("LEFT", frame.healthback, "LEFT", 2, 1);
+ frame.name.count = 8;
frame.level = frame:CreateFontString(nil, "OVERLAY", "GameFontHighlight");
frame.level:SetPoint("LEFT", frame.manaback, "LEFT", 2, 1);
+ frame.targeticon = frame:CreateTexture(nil, "OVERLAY");
+ frame.targeticon:SetPoint("CENTER", frame.healthback, "TOP");
+ frame.targeticon:SetWidth(18);
+ frame.targeticon:SetHeight(18);
+ frame.targeticon:SetTexture("Interface\\TARGETINGFRAME\\UI-RaidTargetingIcons");
+ frame.targeticon:Hide();
+ frame.castbar = OmaUFCastBar.CreateCastBar(frame, unit, 8);
+ createAuraFrame(frame, unit);
-- set scripts
frame:SetScript("OnShow", frameShow);
frame:SetScript("OnHide", frameHide);
-- rest give target and menu
secure:SetAttribute("*type1", "target");
secure:SetAttribute("*type2", "togglemenu");
- createAuraFrame(frame, unit);
+ secure:SetAttribute("toggleForVehicle", false);
RegisterUnitWatch(frame);
RegisterUnitWatch(secure);
return frame;