-- ChatFrame7:AddMessage("AloftCastWarning:Update(): no nameplateId " .. tostring(aloftData.name) .. "/" .. tostring(targetGUId)) |
end |
else |
-- ChatFrame7:AddMessage("AloftCastWarning:Update(): current target " .. tostring(aloftData.name) .. "/" .. tostring(targetGUId)) |
-- ChatFrame7:AddMessage("AloftCastWarning:Update(): no override current target " .. tostring(aloftData.name) .. "/" .. tostring(targetGUId) .. "/" .. tostring(self.db.profile.override) .. "/" .. tostring(currentTarget)) |
end |
|
-- fall through to here: if we have no nameplate id and/or no tracked targetGUId and/or no active cast spellId, |
-- or this (via fall through from above) is the current target nameplate (not overridden), then disable any cast warning bar that |
-- is showing and/or animation that is in progress |
if not (((self.db.profile.override and currentTarget) or nameplateId) and targetGUId and active) then |
-- ChatFrame7:AddMessage("AloftCastWarning:Update(): handle non-spell " .. tostring(aloftData.name)) |
local castWarningFrame = aloftData.castWarningFrame |
if castWarningFrame then |
if castWarningFrame.event --[[and self:TimeLeft(castWarningFrame.event)]] then |
self:CancelTimer(castWarningFrame.event, true) |
castWarningFrame.event = nil |
castWarningFrame.value = nil |
-- ChatFrame7:AddMessage("AloftCastWarning:Update(): cancel obsolete event" .. tostring(aloftData.name)) |
end |
if castWarningFrame.onUpdate then |
castWarningFrame:SetScript("OnUpdate", nil) |
castWarningFrame.onUpdate = nil |
end |
if castWarningFrame:IsVisible() then |
-- ChatFrame7:AddMessage("AloftCastWarning:Update(): release " .. tostring(aloftData.name)) |
self:SendMessage("AloftCastWarning:OnCastWarningDataChanged", aloftData, targetGUId, active) |
self:ReleaseCastWarning(aloftData) |
end |
-- ChatFrame7:AddMessage("AloftCastWarning:Update(): handle non-spell " .. tostring(aloftData.name)) |
|
-- fall through to here: if we have any aspect of a cast warning bar active (event, OnUpdate script, visible bar, etc), when we shouldn't, then clean it up |
local castWarningFrame = aloftData.castWarningFrame |
if castWarningFrame then |
if castWarningFrame.event --[[and self:TimeLeft(castWarningFrame.event)]] then |
self:CancelTimer(castWarningFrame.event, true) |
castWarningFrame.event = nil |
castWarningFrame.value = nil |
-- ChatFrame7:AddMessage("AloftCastWarning:Update(): cancel obsolete event" .. tostring(aloftData.name)) |
end |
if castWarningFrame.onUpdate then |
castWarningFrame:SetScript("OnUpdate", nil) |
castWarningFrame.onUpdate = nil |
end |
if castWarningFrame:IsVisible() then |
-- ChatFrame7:AddMessage("AloftCastWarning:Update(): release " .. tostring(aloftData.name)) |
self:SendMessage("AloftCastWarning:OnCastWarningDataChanged", aloftData, targetGUId, active) |
self:ReleaseCastWarning(aloftData) |
end |
end |
end |
|