Support per-class frame display names, rename Pyromancer segment bar to Ember gauge

This commit is contained in:
2026-07-08 16:19:00 +02:00
parent 6165bbfe6e
commit f3a58b846d
2 changed files with 60 additions and 6 deletions
+13
View File
@@ -34,6 +34,19 @@ HideCoAUI.FRAMES = {
-- "CoASpellActivationOverlay", -- found via full frame scan, deliberately left without a checkbox -- "CoASpellActivationOverlay", -- found via full frame scan, deliberately left without a checkbox
} }
HideCoAUI.FRAME_DISPLAY_NAMES = {
PYROMANCER = {
CoAResourceSegmentBar = "Ember gauge",
},
}
local function GetFrameDisplayName(class, frameName)
local classNames = HideCoAUI.FRAME_DISPLAY_NAMES[class]
return classNames and classNames[frameName]
end
HideCoAUI.GetFrameDisplayName = GetFrameDisplayName
local function CreateDefaultClassSettings() local function CreateDefaultClassSettings()
local classSettings = {} local classSettings = {}
+47 -6
View File
@@ -196,6 +196,27 @@ local TAB_HEIGHT = 18
local hideClassButton, showClassButton local hideClassButton, showClassButton
local function GetOrderedFrameNames(class)
local named = {}
local generic = {}
for _, frameName in ipairs(HideCoAUI.FRAMES) do
if HideCoAUI.GetFrameDisplayName(class, frameName) then
table.insert(named, frameName)
else
table.insert(generic, frameName)
end
end
for _, frameName in ipairs(generic) do
table.insert(named, frameName)
end
return named
end
local function SelectClass(class) local function SelectClass(class)
selectedClass = class selectedClass = class
@@ -219,20 +240,40 @@ local function SelectClass(class)
overrideNoticeText:Hide() overrideNoticeText:Hide()
end end
for _, frameName in ipairs(HideCoAUI.FRAMES) do local previousCheckAnchor = classLabelHeader
local previousCheckSpacing = -19
local previousCheckXOffset = 16
checks[frameName]:SetChecked(HideCoAUI.GetClassSettings()[class][frameName]) for _, frameName in ipairs(GetOrderedFrameNames(class)) do
local check = checks[frameName]
check:ClearAllPoints()
check:SetPoint("TOPLEFT", previousCheckAnchor, "BOTTOMLEFT", previousCheckXOffset, previousCheckSpacing)
local customName = HideCoAUI.GetFrameDisplayName(class, frameName)
local label = customName and ("Hide " .. customName .. " (" .. frameName .. ")") or ("Hide " .. frameName)
_G[check:GetName() .. "Text"]:SetText(label)
check:SetChecked(HideCoAUI.GetClassSettings()[class][frameName])
if overridden then if overridden then
checks[frameName]:Disable() check:Disable()
_G[checks[frameName]:GetName() .. "Text"]:SetTextColor(0.5, 0.5, 0.5) _G[check:GetName() .. "Text"]:SetTextColor(0.5, 0.5, 0.5)
else else
checks[frameName]:Enable() check:Enable()
_G[checks[frameName]:GetName() .. "Text"]:SetTextColor(1, 1, 1) _G[check:GetName() .. "Text"]:SetTextColor(1, 1, 1)
end end
previousCheckAnchor = check
previousCheckSpacing = -8
previousCheckXOffset = 0
end end
hideClassButton:ClearAllPoints()
hideClassButton:SetPoint("TOPLEFT", previousCheckAnchor, "BOTTOMLEFT", 0, -16)
if overridden then if overridden then
hideClassButton:Disable() hideClassButton:Disable()
showClassButton:Disable() showClassButton:Disable()