aUFBanzai = AceLibrary("AceAddon-2.0"):new("AceEvent-2.0", "AceHook-2.0") local _G = getfenv(0) function aUFBanzai:OnEnable() if not aUF then return end -- add aggro methods to unit prototype function aUF.classes.aUFunit.prototype:Banzai_UnitGainedAggro(byevent) if type(byevent) =="table" and not byevent[self.unit] then return end self.HealthBar:SetStatusBarColor(1, 0, 0) end function aUF.classes.aUFunit.prototype:Banzai_UnitLostAggro(byevent) if type(byevent) =="table" and not byevent[self.unit] then return end end -- register events in current instances for k,v in aUF.units do v:RegisterEvent("Banzai_UnitGainedAggro") v:RegisterEvent("Banzai_UnitLostAggro") end -- all future instances will have events registered function aUF.classes.aUFunit.prototype:RegisterEventsNew(allEvents,unregister) if not unregister and self.eventsRegistered == false then self:RegisterEvent("Banzai_UnitGainedAggro") self:RegisterEvent("Banzai_UnitLostAggro") elseif self.eventsRegistered == true and unregister then self:UnregisterEvent("Banzai_UnitGainedAggro") self:UnregisterEvent("Banzai_UnitLostAggro") end self:RegisterEventsOld(allEvents,unregister) end -- hook RegisterEvents aUF.classes.aUFunit.prototype.RegisterEventsOld = aUF.classes.aUFunit.prototype.RegisterEvents aUF.classes.aUFunit.prototype.RegisterEvents = aUF.classes.aUFunit.prototype.RegisterEventsNew end