2011-12-05 19:27:07 +01:00
|
|
|
HealthBar = {}
|
2011-11-04 00:10:12 +01:00
|
|
|
|
|
|
|
-- private variables
|
2012-01-03 16:17:52 +01:00
|
|
|
local healthManaPanel
|
|
|
|
local healthBar
|
|
|
|
local manaBar
|
|
|
|
local healthLabel
|
|
|
|
local manaLabel
|
2011-11-04 00:10:12 +01:00
|
|
|
|
|
|
|
-- public functions
|
2011-12-05 19:27:07 +01:00
|
|
|
function HealthBar.create()
|
2012-01-03 01:42:53 +01:00
|
|
|
healthManaPanel = displayUI('healthbar.otui', { parent = Game.gameRightPanel })
|
2012-01-03 16:17:52 +01:00
|
|
|
healthBar = healthManaPanel:getChildById('healthBar')
|
|
|
|
manaBar = healthManaPanel:getChildById('manaBar')
|
|
|
|
healthLabel = healthManaPanel:getChildById('healthLabel')
|
|
|
|
manaLabel = healthManaPanel:getChildById('manaLabel')
|
2011-11-04 00:10:12 +01:00
|
|
|
end
|
|
|
|
|
2011-12-05 19:27:07 +01:00
|
|
|
function HealthBar.destroy()
|
2011-11-04 00:10:12 +01:00
|
|
|
healthManaPanel:destroy()
|
|
|
|
healthManaPanel = nil
|
2012-01-03 16:17:52 +01:00
|
|
|
healthBar = nil
|
|
|
|
manaBar = nil
|
|
|
|
healthLabel = nil
|
|
|
|
manaLabel = nil
|
2011-11-04 00:10:12 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
-- hooked events
|
2011-12-22 05:06:00 +01:00
|
|
|
function HealthBar.onHealthChange(health, maxHealth)
|
2012-01-03 16:17:52 +01:00
|
|
|
healthLabel:setText(health .. ' / ' .. maxHealth)
|
2011-11-14 09:21:01 +01:00
|
|
|
healthBar:setPercent(health / maxHealth * 100)
|
2011-11-04 00:10:12 +01:00
|
|
|
end
|
|
|
|
|
2011-12-22 05:06:00 +01:00
|
|
|
function HealthBar.onManaChange(mana, maxMana)
|
2012-01-03 16:17:52 +01:00
|
|
|
manaLabel:setText(mana .. ' / ' .. maxMana)
|
2011-11-14 15:37:55 +01:00
|
|
|
|
|
|
|
local percent
|
|
|
|
if maxMana == 0 then
|
|
|
|
percent = 100
|
|
|
|
else
|
2012-01-03 16:17:52 +01:00
|
|
|
percent = (mana * 100)/maxMana
|
2011-11-14 15:37:55 +01:00
|
|
|
end
|
|
|
|
manaBar:setPercent(percent)
|
2011-11-04 00:10:12 +01:00
|
|
|
end
|
|
|
|
|
2011-12-05 19:27:07 +01:00
|
|
|
connect(Game, { onLogin = HealthBar.create,
|
2011-12-22 05:06:00 +01:00
|
|
|
onLogout = HealthBar.destroy,
|
|
|
|
onHealthChange = HealthBar.onHealthChange,
|
|
|
|
onManaChange = HealthBar.onManaChange })
|