From d5754d258a01dcbd4310866376ab320a497abacb Mon Sep 17 00:00:00 2001 From: "Johnny C. Lam" Date: Mon, 21 Apr 2014 05:02:21 +0000 Subject: [PATCH] Be more efficient in registering for Eclipse events only in balance spec. git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@1303 d5049fe3-3747-40f7-a4b5-f36d6801af5f --- OvaleEclipse.lua | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/OvaleEclipse.lua b/OvaleEclipse.lua index b54fa27..4485f00 100644 --- a/OvaleEclipse.lua +++ b/OvaleEclipse.lua @@ -1,6 +1,6 @@ --[[-------------------------------------------------------------------- Ovale Spell Priority - Copyright (C) 2013 Johnny C. Lam + Copyright (C) 2013, 2014 Johnny C. Lam This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License in the LICENSE @@ -58,26 +58,33 @@ function OvaleEclipse:OnInitialize() end function OvaleEclipse:OnEnable() - self_guid = API_UnitGUID("player") if self_class == "DRUID" then + self_guid = API_UnitGUID("player") + self:RegisterMessage("Ovale_SpecializationChanged") + end +end + +function OvaleEclipse:OnDisable() + if self_class == "DRUID" then + self:UnregisterMessage("Ovale_SpecializationChanged") + end +end + +function OvaleEclipse:Ovale_SpecializationChanged(event, specialization, previousSpecialization) + if specialization == "balance" then + self:Update() self:RegisterEvent("ECLIPSE_DIRECTION_CHANGE", "UpdateEclipseDirection") self:RegisterEvent("UNIT_POWER") self:RegisterEvent("UNIT_POWER_FREQUENT", "UNIT_POWER") - self:RegisterMessage("Ovale_SpecializationChanged", "UpdateEclipseDirection") self:RegisterMessage("Ovale_StanceChanged", "Update") self:RegisterMessage("Ovale_AuraAdded") OvaleState:RegisterState(self, self.statePrototype) - end -end - -function OvaleEclipse:OnDisable() - if self_class == "DRUID" then + else OvaleState:UnregisterState(self) self:UnregisterEvent("ECLIPSE_DIRECTION_CHANGE") self:UnregisterEvent("UNIT_POWER") self:UnregisterEvent("UNIT_POWER_FREQUENT") self:UnregisterMessage("Ovale_AuraAdded") - self:UnregisterMessage("Ovale_SpecializationChanged") self:UnregisterMessage("Ovale_StanceChanged") end end -- 1.7.9.5