Detect form changes

This commit is contained in:
Logan Payton
2018-05-31 00:11:51 -04:00
parent 126ee7e169
commit 56db5cbf99
+21 -1
View File
@@ -468,6 +468,25 @@ function AB:ActionButton_GetPagedID(button)
end end
end end
local function IsInShapeshiftForm()
for i = 1, GetNumShapeshiftForms() do
_, _, active = GetShapeshiftFormInfo(i)
if active ~= nil then return true end
end
return false
end
function AB:UNIT_PORTRAIT_UPDATE()
if arg1 == "player" and E.myclass == "DRUID" then
local inForm = IsInShapeshiftForm()
if inForm then
BonusActionBarFrame:Show()
else
BonusActionBarFrame:Hide()
end
end
end
function AB:Initialize() function AB:Initialize()
self.db = E.db.actionbar self.db = E.db.actionbar
@@ -490,8 +509,9 @@ function AB:Initialize()
self:SecureHook("ActionButton_Update") self:SecureHook("ActionButton_Update")
self:RawHook("ActionButton_GetPagedID") self:RawHook("ActionButton_GetPagedID")
self:SecureHook("PetActionBar_Update", "UpdatePet") self:SecureHook("PetActionBar_Update", "UpdatePet")
self:RegisterEvent("UNIT_PORTRAIT_UPDATE")
if E.myclass == "WARRIOR" then if E.myclass == "WARRIOR" or (E.myclass == "DRUID" and IsInShapeshiftForm()) then
BonusActionBarFrame:Show() BonusActionBarFrame:Show()
end end
end end