mirror of
https://github.com/brues-code/pfUI.git
synced 2026-10-22 04:00:49 +00:00
unitframes: combine unit visibility scanners
improve performance by reducing the amount of visible frames and combining visibility scanners into a single dedicated updater
This commit is contained in:
+8
-10
@@ -125,11 +125,12 @@ local function DebuffOnClick()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function UpdateVisibilityScanner(self)
|
local visibilityscan = CreateFrame("Frame", "pfUnitFrameVisibility", UIParent)
|
||||||
local self = self or this
|
visibilityscan.frames = {}
|
||||||
if ( self.limit or 1) > GetTime() then return else self.limit = GetTime() + .2 end
|
visibilityscan:SetScript("OnUpdate", function()
|
||||||
self.frame:UpdateVisibility()
|
if ( this.limit or 1) > GetTime() then return else this.limit = GetTime() + .2 end
|
||||||
end
|
for frame in pairs(this.frames) do frame:UpdateVisibility() end
|
||||||
|
end)
|
||||||
|
|
||||||
local aggrodata = { }
|
local aggrodata = { }
|
||||||
function pfUI.api.UnitHasAggro(unit)
|
function pfUI.api.UnitHasAggro(unit)
|
||||||
@@ -945,8 +946,8 @@ function pfUI.uf:EnableScripts()
|
|||||||
f:SetScript("OnLeave", pfUI.uf.OnLeave)
|
f:SetScript("OnLeave", pfUI.uf.OnLeave)
|
||||||
f:EnableClickCast()
|
f:EnableClickCast()
|
||||||
|
|
||||||
-- add generic visibility handler
|
-- add frame to visibility refresh handler
|
||||||
f.visibility:SetScript("OnUpdate", UpdateVisibilityScanner)
|
visibilityscan.frames[f] = true
|
||||||
end
|
end
|
||||||
|
|
||||||
function pfUI.uf:CreateUnitFrame(unit, id, config, tick)
|
function pfUI.uf:CreateUnitFrame(unit, id, config, tick)
|
||||||
@@ -1044,9 +1045,6 @@ function pfUI.uf:CreateUnitFrame(unit, id, config, tick)
|
|||||||
f.portrait.model.next = CreateFrame("PlayerModel", nil, nil)
|
f.portrait.model.next = CreateFrame("PlayerModel", nil, nil)
|
||||||
f.feedbackText = f:CreateFontString("pfHitIndicator" .. f.label .. f.id, "OVERLAY", "NumberFontNormalHuge")
|
f.feedbackText = f:CreateFontString("pfHitIndicator" .. f.label .. f.id, "OVERLAY", "NumberFontNormalHuge")
|
||||||
|
|
||||||
f.visibility = f.visibility or CreateFrame("Frame", nil, pfUI)
|
|
||||||
f.visibility.frame = f
|
|
||||||
|
|
||||||
f:Hide()
|
f:Hide()
|
||||||
f:UpdateConfig()
|
f:UpdateConfig()
|
||||||
f:UpdateFrameSize()
|
f:UpdateFrameSize()
|
||||||
|
|||||||
Reference in New Issue
Block a user