DX_Tweaks/modules/talentbackground/TalentBackground.lua

54 lines
1.5 KiB
Lua

local addonName, DX = ...
local LSM = LibStub("LibSharedMedia-3.0")
local moduleName = "TalentBackground"
local moduleDesc = "Changes the background of the TalentFrame"
local function LoadTalentBackground()
local eventFrame = CreateFrame("Frame")
local function ApplyBG()
local frame = _G.PlayerSpellsFrame
if not frame or not frame.TalentsFrame then return end
local bg = frame.TalentsFrame.Background
if bg then
local bgPath = LSM:Fetch("background", "DX TalentBG")
bg:SetAtlas(nil)
bg:SetTexture(bgPath)
bg:SetAlpha(1)
bg:SetDesaturated(false)
bg:SetVertexColor(1, 1, 1, 1)
bg:SetDrawLayer("BACKGROUND", -8)
bg:SetHorizTile(false)
bg:SetVertTile(false)
end
end
local function SetupHooks()
local frame = _G.PlayerSpellsFrame
if not frame then return end
hooksecurefunc(frame, "Show", function()
C_Timer.After(0.05, ApplyBG)
end)
if frame:IsVisible() then
ApplyBG()
end
end
if C_AddOns.IsAddOnLoaded("Blizzard_PlayerSpells") then
SetupHooks()
else
eventFrame:SetScript("OnEvent", function(self, event, name)
if name == "Blizzard_PlayerSpells" then
SetupHooks()
self:UnregisterEvent("ADDON_LOADED")
end
end)
eventFrame:RegisterEvent("ADDON_LOADED")
end
end
DX:AddModule(moduleName, moduleDesc, LoadTalentBackground)