mirror of
https://github.com/brues-code/pfUI.git
synced 2026-09-23 08:06:55 +00:00
7d0898c563
Disable mouse on Turtle GroupUI frames and all children when pfUI replaces them Re-enable mouse when Turtle frames become active again Prevent combat screen overlay from blocking clicks Use explicit EnableMouse(false) instead of nil for StatusBar widgets
52 lines
1.8 KiB
Lua
52 lines
1.8 KiB
Lua
pfUI:RegisterModule("infight", "vanilla:tbc", function ()
|
|
local function OnUpdate()
|
|
if not this.infight and not this.aggro and not this.health then return end
|
|
if ( this.tick or 1) > GetTime() then return else this.tick = GetTime() + .1 end
|
|
|
|
if not this.fadeValue then this.fadeValue = 1 end
|
|
if this.fadeValue >= 0.3 then
|
|
this.fadeModifier = -0.1
|
|
end
|
|
if this.fadeValue <= 0 then
|
|
this.fadeModifier = 0.1
|
|
end
|
|
this.fadeValue = this.fadeValue + this.fadeModifier
|
|
|
|
local visible = nil
|
|
if this.infight and UnitAffectingCombat("player") then visible = true end
|
|
if this.aggro and UnitHasAggro("player") > 0 then visible = true end
|
|
if this.health and UnitHealth("player")/UnitHealthMax("player")*100 <= 25 then visible = true end
|
|
if UnitIsDeadOrGhost("player") then visible = nil end
|
|
|
|
if visible then
|
|
this.screen:Show()
|
|
this.screen:SetBackdropBorderColor(1,0.2+this.fadeValue, this.fadeValue, 1-this.fadeValue)
|
|
else
|
|
this.screen:Hide()
|
|
end
|
|
end
|
|
|
|
pfUI.infight = CreateFrame("Frame", "pfUICombat", UIParent)
|
|
pfUI.infight:SetScript("OnUpdate", OnUpdate)
|
|
|
|
pfUI.infight.screen = CreateFrame("Frame", "pfUICombatScreen", WorldFrame)
|
|
pfUI.infight.screen:SetAllPoints(WorldFrame)
|
|
pfUI.infight.screen:EnableMouse(false)
|
|
pfUI.infight.screen:Hide()
|
|
|
|
pfUI.infight.UpdateConfig = function(self)
|
|
pfUI.infight.infight = C.appearance.infight.screen == "1" and true or nil
|
|
pfUI.infight.aggro = C.appearance.infight.aggro == "1" and true or nil
|
|
pfUI.infight.health = C.appearance.infight.health == "1" and true or nil
|
|
|
|
pfUI.infight.screen:SetBackdrop({
|
|
edgeFile = pfUI.media["img:glow"], edgeSize = tonumber(C.appearance.infight.intensity),
|
|
insets = {left = 0, right = 0, top = 0, bottom = 0},
|
|
})
|
|
|
|
pfUI.infight.screen:Hide()
|
|
end
|
|
|
|
pfUI.infight.UpdateConfig()
|
|
end)
|