- fixed pet health/mana modules getting stuck on the player when leaving an instance while on a vehicle

This commit is contained in:
Parnic
2010-11-21 22:29:37 +00:00
parent 79bb3324ac
commit fb09700ec3
2 changed files with 38 additions and 14 deletions

View File

@ -62,6 +62,7 @@ function PetHealth.prototype:Enable(core)
self:RegisterEvent("UNIT_ENTERED_VEHICLE", "EnteringVehicle") self:RegisterEvent("UNIT_ENTERED_VEHICLE", "EnteringVehicle")
self:RegisterEvent("UNIT_EXITED_VEHICLE", "ExitingVehicle") self:RegisterEvent("UNIT_EXITED_VEHICLE", "ExitingVehicle")
self:RegisterEvent("PLAYER_ENTERING_WORLD", "CheckVehicle")
self.frame:SetAttribute("unit", self.unit) self.frame:SetAttribute("unit", self.unit)
RegisterUnitWatch(self.frame) RegisterUnitWatch(self.frame)
@ -227,21 +228,33 @@ function PetHealth.prototype:EnableClickTargeting(bEnable)
end end
function PetHealth.prototype:EnteringVehicle(event, unit, arg2) function PetHealth.prototype:EnteringVehicle(event, unit, arg2)
if (self.unit == "pet" and IceHUD:ShouldSwapToVehicle(unit, arg2)) then if (self.unit == "pet") then
if IceHUD:ShouldSwapToVehicle(unit, arg2) then
self.unit = "player" self.unit = "player"
self:RegisterFontStrings() self:RegisterFontStrings()
end
self:Update(self.unit) self:Update(self.unit)
end end
end end
function PetHealth.prototype:ExitingVehicle(event, unit) function PetHealth.prototype:ExitingVehicle(event, unit)
if (unit == "player" and self.unit == "player") then if (unit == "player") then
if self.unit == "player" then
self.unit = "pet" self.unit = "pet"
self:RegisterFontStrings() self:RegisterFontStrings()
end
self:Update(self.unit) self:Update(self.unit)
end end
end end
function PetHealth.prototype:CheckVehicle()
if UnitHasVehicleUI("player") then
self:EnteringVehicle(nil, "player", true)
else
self:ExitingVehicle(nil, "player")
end
end
-- Load us up -- Load us up
IceHUD.PetHealth = PetHealth:new() IceHUD.PetHealth = PetHealth:new()

View File

@ -73,6 +73,7 @@ function PetMana.prototype:Enable(core)
self:RegisterEvent("UNIT_ENTERED_VEHICLE", "EnteringVehicle") self:RegisterEvent("UNIT_ENTERED_VEHICLE", "EnteringVehicle")
self:RegisterEvent("UNIT_EXITED_VEHICLE", "ExitingVehicle") self:RegisterEvent("UNIT_EXITED_VEHICLE", "ExitingVehicle")
self:RegisterEvent("PLAYER_ENTERING_WORLD", "CheckVehicle")
self:CheckPet() self:CheckPet()
self:ManaType(nil, self.unit) self:ManaType(nil, self.unit)
@ -203,21 +204,31 @@ function PetMana.prototype:GetOptions()
end end
function PetMana.prototype:EnteringVehicle(event, unit, arg2) function PetMana.prototype:EnteringVehicle(event, unit, arg2)
if (self.unit == "pet" and IceHUD:ShouldSwapToVehicle(unit, arg2)) then if (self.unit == "pet") then
if IceHUD:ShouldSwapToVehicle(unit, arg2) then
self.unit = "player" self.unit = "player"
self:RegisterFontStrings() self:RegisterFontStrings()
end
self:ManaType(nil, self.unit) self:ManaType(nil, self.unit)
self:Update(self.unit)
end end
end end
function PetMana.prototype:ExitingVehicle(event, unit) function PetMana.prototype:ExitingVehicle(event, unit)
if (unit == "player" and self.unit == "player") then if (unit == "player") then
if self.unit == "player" then
self.unit = "pet" self.unit = "pet"
self:RegisterFontStrings() self:RegisterFontStrings()
end
self:ManaType(nil, self.unit) self:ManaType(nil, self.unit)
self:Update(self.unit) end
end
function PetMana.prototype:CheckVehicle()
if UnitHasVehicleUI("player") then
self:EnteringVehicle(nil, "player", true)
else
self:ExitingVehicle(nil, "player")
end end
end end