unitframes: add support for focus target frames

This commit is contained in:
shagu
2021-01-18 16:15:45 +01:00
parent 815da34149
commit ab3d853f02
4 changed files with 36 additions and 10 deletions
+11 -1
View File
@@ -247,6 +247,16 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("unitframes", "focus", "buffsize", "12")
pfUI:UpdateConfig("unitframes", "focus", "debuffsize", "12")
pfUI:UpdateConfig("unitframes", "focustarget", "visible", "0")
pfUI:UpdateConfig("unitframes", "focustarget", "width", "80")
pfUI:UpdateConfig("unitframes", "focustarget", "height", "12")
pfUI:UpdateConfig("unitframes", "focustarget", "pheight", "-1")
pfUI:UpdateConfig("unitframes", "focustarget", "buffs", "off")
pfUI:UpdateConfig("unitframes", "focustarget", "debuffs", "off")
pfUI:UpdateConfig("unitframes", "focustarget", "txthpleft", "none")
pfUI:UpdateConfig("unitframes", "focustarget", "txthpcenter", "name")
pfUI:UpdateConfig("unitframes", "focustarget", "txthpright", "none")
pfUI:UpdateConfig("unitframes", "group", "portrait", "off")
pfUI:UpdateConfig("unitframes", "group", "width", "164")
pfUI:UpdateConfig("unitframes", "group", "height", "32")
@@ -357,7 +367,7 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("unitframes", "ptarget", "txthpright", "none")
pfUI:UpdateConfig("unitframes", "ptarget", "overhealperc", "10")
local ufs = { "player", "target", "focus", "group", "grouptarget", "grouppet", "raid", "ttarget", "pet", "ptarget", "fallback", "tttarget" }
local ufs = { "player", "target", "focus", "focustarget", "group", "grouptarget", "grouppet", "raid", "ttarget", "pet", "ptarget", "fallback", "tttarget" }
for _, unit in pairs(ufs) do
pfUI:UpdateConfig("unitframes", unit, "visible", "1")
pfUI:UpdateConfig("unitframes", unit, "showPVP", "0")
+14 -5
View File
@@ -295,7 +295,7 @@ function pfUI.uf:UpdateVisibility()
end
-- vanilla visibility
if self.unitname and self.unitname ~= "focus" then
if self.unitname and self.unitname ~= "focus" and self.unitname ~= "focustarget" then
self:Show()
elseif visibility == "hide" then
self:Hide()
@@ -840,14 +840,23 @@ function pfUI.uf.OnUpdate()
this.fullupdate = nil
end
-- early return on unset focus frames
if this.unitname then
if this == pfFocus then -- handle pseudo focus frames
local unitname = ( this.label and UnitName(this.label) ) or ""
if this.unitname == "focus" then
return
if pfFocusTarget then -- update focus target
pfFocusTarget.label = this.label and this.label .. "target" or nil
local focustargetname = pfFocusTarget.label and UnitName(pfFocusTarget.label) or nil
if pfFocusTarget.lastUnit ~= focustargetname then
pfFocusTarget.lastUnit = focustargetname
pfFocusTarget.instantRefresh = true
pfUI.uf:RefreshUnit(pfFocusTarget, "all")
end
end
-- break here on unset focus frames
if not this.unitname or this.unitname == "focus" then return end
-- focus unit detection
if this.unitname ~= strlower(unitname) then
-- invalid focus frame