Files
coa-elvui/ElvUI_Enhanced/Modules/Unitframes/TargetClass.lua
T
2025-12-24 16:09:28 -07:00

55 lines
1.5 KiB
Lua

local E, L, V, P, G = unpack(ElvUI)
local TC = E:NewModule("Enhanced_TargetClass", "AceEvent-3.0")
local select = select
local UnitClass = UnitClass
local UnitClassification = UnitClassification
local UnitIsPlayer = UnitIsPlayer
local CLASS_ICON_TCOORDS = CLASS_ICON_TCOORDS
function TC:TargetChanged()
self.frame:Hide()
local class = UnitIsPlayer("target") and select(2, UnitClass("target")) or UnitClassification("target")
if class then
local coordinates = CLASS_ICON_TCOORDS[class]
if coordinates then
self.frame.Texture:SetTexCoord(coordinates[1], coordinates[2], coordinates[3], coordinates[4])
self.frame:Show()
end
end
end
function TC:ToggleSettings()
if self.db.enable then
self.frame:Size(self.db.size, self.db.size)
self.frame:ClearAllPoints()
self.frame:Point("CENTER", ElvUF_Target, "TOP", self.db.xOffset, self.db.yOffset)
self:RegisterEvent("PLAYER_TARGET_CHANGED", "TargetChanged")
self:TargetChanged()
else
self:UnregisterEvent("PLAYER_TARGET_CHANGED")
self.frame:Hide()
end
end
function TC:Initialize()
self.db = E.db.enhanced.unitframe.units.target.classicon
self.frame = CreateFrame("Frame", "TargetClass", E.UIParent)
self.frame:SetFrameLevel(12)
self.frame.Texture = self.frame:CreateTexture(nil, "ARTWORK")
self.frame.Texture:SetAllPoints()
self.frame.Texture:SetTexture([[Interface\GLUES\CHARACTERCREATE\UI-CHARACTERCREATE-CLASSES]])
self:ToggleSettings()
end
local function InitializeCallback()
TC:Initialize()
end
E:RegisterModule(TC:GetName(), InitializeCallback)