X-Git-Url: https://www.aleksib.fi/git/wowui.git/blobdiff_plain/3e6730c2c495d9016dde6cbb76c2bd6f86b05cbe..ba91fb0c8ff2812932994f64f9513abfb08f33f7:/OmaUF/UnitFrames.lua diff --git a/OmaUF/UnitFrames.lua b/OmaUF/UnitFrames.lua index b0738ee..89cfa4a 100644 --- a/OmaUF/UnitFrames.lua +++ b/OmaUF/UnitFrames.lua @@ -2,19 +2,25 @@ local _; local pairs = pairs; local InCombatLockdown = InCombatLockdown; +local CTimerAfter = C_Timer.After; -local UnitFrames = CreateFrame("Frame", "OmaUnitFrames"); +local updateAuraTooltips = OmaUFAuras.UpdateAuraTooltips; + +local UnitFrames = CreateFrame("Frame", "OmaUnitFrame", UIParent); local M = {}; OmaUnitFrames = M; local function initialize() - local player = M.InitializePlayer(UIParent); + UnitFrames:SetFrameStrata("LOW"); + UnitFrames:SetPoint("CENTER"); + UnitFrames:SetWidth(1); + UnitFrames:SetHeight(1); + local player = M.InitializePlayer(UnitFrames); M.InitializePet(player); - local target = M.InitializeTarget(UIParent); + local target = M.InitializeTarget(UnitFrames); --M.InitializeToT(target); -- might not do this - M.InitializeBoss(UIParent); - -- TODO boss frames, (arena frames) + M.InitializeBoss(UnitFrames); end local hidden = false; @@ -25,29 +31,22 @@ local function hideBlizzardFrames() local frames = {PlayerFrame, TargetFrame, TargetFrameToT, PetFrame, PlayerFrameAlternateManaBar, ComboFrame, PriestBarFrame, RuneFrame, WarlockPowerFrame, MonkHarmonyBarFrame, PaladinPowerBarFrame, - MageArcaneChargesFrame}; + MageArcaneChargesFrame, CastingBarFrame, PetCastingBarFrame}; for i = 1,MAX_BOSS_FRAMES do table.insert(frames, _G["Boss"..i.."TargetFrame"]); table.insert(frames, _G["Boss"..i.."TargetFrameHealthBar"]); table.insert(frames, _G["Boss"..i.."TargetFrameManaBar"]); + -- keep boss frame powerBarAlt end for _, frame in pairs(frames) do frame:UnregisterAllEvents(); if frame.healthbar then frame.healthbar:UnregisterAllEvents() end if frame.manabar then frame.manabar:UnregisterAllEvents() end if frame.spellbar then frame.spellbar:UnregisterAllEvents() end - if frame.powerBarAlt then frame.powerBarAlt: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"); @@ -75,14 +74,26 @@ local function hideArenaFrames() end end +local function updateTooltipFuncs() + -- let MoveAnything hook these to anchor tooltip elsewhere + M.UpdatePlayerTooltips(); + M.UpdatePetTooltips(); + M.UpdateTargetTooltips(); + M.UpdateBossTooltips(); + updateAuraTooltips(); +end + UnitFrames:RegisterEvent("PLAYER_LOGIN"); +UnitFrames:RegisterEvent("PLAYER_ENTERING_WORLD"); UnitFrames:RegisterEvent("ADDON_LOADED"); UnitFrames:SetScript("OnEvent", function(self, event, addon) - if event == "PLAYER_LOGIN" then + if event == "PLAYER_ENTERING_WORLD" then + CTimerAfter(0.01, updateTooltipFuncs); + elseif event == "ADDON_LOADED" and addon == "Blizzard_ArenaUI" then + hideArenaFrames(); + elseif event == "PLAYER_LOGIN" then OmaUFLoadChar(); hideBlizzardFrames(); initialize(); - elseif event == "ADDON_LOADED" and addon == "Blizzard_ArenaUI" then - hideArenaFrames(); end end);