完成焦点等开发
This commit is contained in:
39
Media.lua
39
Media.lua
@@ -10,6 +10,23 @@ SFrames.Media = {
|
||||
fontOutline = "OUTLINE",
|
||||
}
|
||||
|
||||
-- Built-in font choices (includes Nanami-Plates bundled fonts)
|
||||
SFrames.FontChoices = {
|
||||
{ key = "default", label = "默认 (ARIALN)", path = "Fonts\\ARIALN.TTF" },
|
||||
{ key = "frizqt", label = "FRIZQT", path = "Fonts\\FRIZQT__.TTF" },
|
||||
{ key = "morpheus", label = "Morpheus", path = "Fonts\\MORPHEUS.TTF" },
|
||||
{ key = "skurri", label = "Skurri", path = "Fonts\\SKURRI.TTF" },
|
||||
{ key = "np_handwrite", label = "手写DF+DB", path = "Interface\\AddOns\\Nanami-Plates\\fonts\\手写DF+DB.ttf" },
|
||||
{ key = "np_pangwa", label = "胖娃方正英文数字", path = "Interface\\AddOns\\Nanami-Plates\\fonts\\胖娃方正英文数字.ttf" },
|
||||
{ key = "np_yahei_star", label = "雅黑+一星球", path = "Interface\\AddOns\\Nanami-Plates\\fonts\\雅黑+一星球.ttf" },
|
||||
{ key = "np_yahei_hand", label = "雅黑手写英文", path = "Interface\\AddOns\\Nanami-Plates\\fonts\\雅黑手写英文.ttf" },
|
||||
}
|
||||
|
||||
SFrames._fontLookup = {}
|
||||
for _, entry in ipairs(SFrames.FontChoices) do
|
||||
SFrames._fontLookup[entry.key] = entry.path
|
||||
end
|
||||
|
||||
function SFrames:GetSharedMedia()
|
||||
if LibStub then
|
||||
local ok, LSM = pcall(function() return LibStub("LibSharedMedia-3.0", true) end)
|
||||
@@ -18,8 +35,24 @@ function SFrames:GetSharedMedia()
|
||||
return nil
|
||||
end
|
||||
|
||||
SFrames.BarTextures = {
|
||||
{ key = "default", label = "默认", path = "Interface\\TargetingFrame\\UI-StatusBar" },
|
||||
{ key = "bar_elvui", label = "ElvUI", path = "Interface\\AddOns\\Nanami-UI\\img\\bar\\bar_elvui.tga" },
|
||||
{ key = "bar_gradient", label = "渐变", path = "Interface\\AddOns\\Nanami-UI\\img\\bar\\bar_gradient.tga" },
|
||||
{ key = "bar_tukui", label = "TukUI", path = "Interface\\AddOns\\Nanami-UI\\img\\bar\\bar_tukui.tga" },
|
||||
{ key = "flat", label = "纯色", path = "Interface\\Buttons\\WHITE8X8" },
|
||||
}
|
||||
|
||||
SFrames._barTextureLookup = {}
|
||||
for _, entry in ipairs(SFrames.BarTextures) do
|
||||
SFrames._barTextureLookup[entry.key] = entry.path
|
||||
end
|
||||
|
||||
function SFrames:GetTexture()
|
||||
if SFramesDB and SFramesDB.barTexture then
|
||||
local builtin = self._barTextureLookup[SFramesDB.barTexture]
|
||||
if builtin then return builtin end
|
||||
|
||||
local LSM = self:GetSharedMedia()
|
||||
if LSM then
|
||||
local path = LSM:Fetch("statusbar", SFramesDB.barTexture, true)
|
||||
@@ -30,6 +63,12 @@ function SFrames:GetTexture()
|
||||
end
|
||||
|
||||
function SFrames:GetFont()
|
||||
-- 1. Check built-in font key
|
||||
if SFramesDB and SFramesDB.fontKey then
|
||||
local builtin = self._fontLookup[SFramesDB.fontKey]
|
||||
if builtin then return builtin end
|
||||
end
|
||||
-- 2. Fallback: LibSharedMedia font name
|
||||
if SFramesDB and SFramesDB.fontName then
|
||||
local LSM = self:GetSharedMedia()
|
||||
if LSM then
|
||||
|
||||
Reference in New Issue
Block a user