X-Git-Url: https://www.aleksib.fi/git/wowui.git/blobdiff_plain/60bc5ec4ced3b57fd841af7f693728049a0d09a0..d51d314274936814dec7d124c9ec5e5165666918:/OmaUF/UnitFrames.lua diff --git a/OmaUF/UnitFrames.lua b/OmaUF/UnitFrames.lua index 8a49add..76c2c7e 100644 --- a/OmaUF/UnitFrames.lua +++ b/OmaUF/UnitFrames.lua @@ -10,6 +10,7 @@ local GameTooltip_SetDefaultAnchor = nil; local registerEvents = OmaUFEvents.RegisterEvents; local unitEvent = OmaUFEvents.UnitEvent; +local createAuraFrame = OmaUFAuras.CreateAuraFrame; local Settings = OmaUFSettings; local indSize = Settings.IndSize; @@ -151,7 +152,7 @@ local function setupFrame(frame, secure, unit) frame.role = frame:CreateTexture(nil, "OVERLAY"); frame.role:SetPoint("TOPLEFT", frame.healthback, "TOPRIGHT", -8, 8); frame.role:SetPoint("BOTTOMRIGHT", frame.healthback, "TOPRIGHT", 8, -8); - frame.role:SetTexture("Interface\\LFGFRAME\\UI-LFG-ICON-ROLES"); + frame.role:SetTexture("Interface\\LFGFRAME\\UI-LFG-ICON-PORTRAITROLES"); frame.role:Hide(); frame.status = frame:CreateTexture(nil, "OVERLAY"); frame.status:SetPoint("TOPLEFT", frame.manaback, "BOTTOMLEFT", -8, 8); @@ -159,10 +160,14 @@ local function setupFrame(frame, secure, unit) frame.status:SetTexture("Interface\\CHARACTERFRAME\\UI-StateIcon"); frame.status:Hide(); frame.pvp = frame:CreateTexture(nil, "OVERLAY"); - frame.pvp:SetPoint("TOPLEFT", frame.healthback, "TOPLEFT", -6, 6); - frame.pvp:SetPoint("BOTTOMRIGHT", frame.healthback, "TOPLEFT", 16, -16); + frame.pvp:SetPoint("TOPLEFT", frame.manaback, "BOTTOMLEFT", 8, 6); + frame.pvp:SetPoint("BOTTOMRIGHT", frame.manaback, "BOTTOMLEFT", 32, -18); frame.pvp:SetTexture("Interface\\TARGETINGFRAME\\UI-PVP-Horde"); frame.pvp:Hide(); + frame.leader = frame:CreateTexture(nil, "OVERLAY"); + frame.leader:SetPoint("TOPLEFT", frame.healthback, "TOPLEFT", -6, 6); + frame.leader:SetPoint("BOTTOMRIGHT", frame.healthback, "TOPLEFT", 6, -6); + frame.leader:Hide(); frame.name = frame:CreateFontString(nil, "OVERLAY", "GameFontHighlightLarge"); frame.name:SetPoint("LEFT", frame.healthback, "LEFT", 2, 1); frame.level = frame:CreateFontString(nil, "OVERLAY", "GameFontHighlight"); @@ -200,10 +205,10 @@ local function initializePlayer(parent) local secure = CreateFrame("Button", "OmaPlayerSecure", parent, inheritedFrames); local frame = CreateFrame("Frame", "OmaPlayer", parent); local unit = "player"; - secure:SetPoint("CENTER", parent, "CENTER", -320, -100); + secure:SetPoint("CENTER", parent, "CENTER", -300, -175); secure:SetWidth(width+2); secure:SetHeight(height+2); - frame:SetPoint("CENTER", parent, "CENTER", -320, -100); + frame:SetPoint("CENTER", parent, "CENTER", -300, -175); frame:SetWidth(width+2); frame:SetHeight(height+2); setupFrame(frame, secure, unit); @@ -217,14 +222,14 @@ local function initializeTarget(parent) local secure = CreateFrame("Button", "OmaTargetSecure", parent, inheritedFrames); local frame = CreateFrame("Frame", "OmaTarget", parent); local unit = "target"; - secure:SetPoint("CENTER", parent, "CENTER", 320, -100); + secure:SetPoint("CENTER", parent, "CENTER", 300, -175); secure:SetWidth(width+2); secure:SetHeight(height+2); - frame:SetPoint("CENTER", parent, "CENTER", 320, -100); + frame:SetPoint("CENTER", parent, "CENTER", 300, -175); frame:SetWidth(width+2); frame:SetHeight(height+2); setupFrame(frame, secure, unit); - -- TODO target frame buffs/debuffs + createAuraFrame(frame, unit); RegisterUnitWatch(frame); RegisterUnitWatch(secure); RegisterStateDriver(secure, "vehicleui", "[vehicleui] vehicle; no"); @@ -234,6 +239,7 @@ end local function initialize() initializePlayer(UIParent); initializeTarget(UIParent); + -- TODO boss frames, pet frame, (arena frames) end local function loadCharSettings() @@ -242,10 +248,44 @@ local function loadCharSettings() attributes = Settings.Character.Clickheal; end +local hidden = false; +local function hideBlizzardFrames() + if hidden then return end + hidden = true; + + for _, frame in pairs({PlayerFrame, TargetFrame, TargetFrameToT}) do + frame:UnregisterAllEvents(); + frame.healthbar:UnregisterAllEvents(); + frame.manabar:UnregisterAllEvents(); + if frame.spellbar then frame.spellbar:UnregisterAllEvents() end + if frame.powerBarAlt then frame.powerBarAlt:UnregisterAllEvents() end + frame:Hide(); + end + + -- TODO create frames for class powers, currently using Simple Holy Power + for _, frame in pairs({PlayerFrameAlternateManaBar, ComboFrame, + PriestBarFrame, RuneFrame, WarlockPowerFrame, MonkHarmonyBarFrame, + PaladinPowerBarFrame, MageArcaneChargesFrame}) do + frame:UnregisterAllEvents(); + frame:Hide(); + end + + -- from ShadowedUF, re-register vehicle events for default auras + PlayerFrame:RegisterEvent("PLAYER_ENTERING_WORLD"); + PlayerFrame:RegisterEvent("UNIT_ENTERING_VEHICLE"); + PlayerFrame:RegisterEvent("UNIT_ENTERED_VEHICLE"); + PlayerFrame:RegisterEvent("UNIT_EXITING_VEHICLE"); + PlayerFrame:RegisterEvent("UNIT_EXITED_VEHICLE"); + PlayerFrame:SetMovable(true); + PlayerFrame:SetUserPlaced(true); + PlayerFrame:SetDontSavePosition(true); +end + UnitFrames:RegisterEvent("ADDON_LOADED"); UnitFrames:RegisterEvent("PLAYER_LOGIN"); UnitFrames:SetScript("OnEvent", function(self, event) if event == "PLAYER_LOGIN" then + hideBlizzardFrames(); initialize(); elseif event == "ADDON_LOADED" then OmaUFLoadChar();