tibia-client/modules/game_healthbar/healthbar.lua

60 lines
1.6 KiB
Lua
Raw Normal View History

2011-12-05 19:27:07 +01:00
HealthBar = {}
2011-11-04 00:10:12 +01:00
-- private variables
local healthManaPanel = nil
-- public functions
2011-12-05 19:27:07 +01:00
function HealthBar.create()
healthManaPanel = displayUI('healthbar.otui', { parent = Game.gameRightPanel })
2011-11-04 00:10:12 +01:00
local healthBar = createWidget('HealthBar', healthManaPanel)
2011-11-14 09:21:01 +01:00
healthBar:setId('healthBar')
local healthLabel = createWidget('HealthLabel', healthManaPanel)
2011-11-04 00:10:12 +01:00
healthLabel:setId('healthLabel')
healthLabel:setText('0 / 0')
2011-11-14 15:37:55 +01:00
local manaBar = createWidget('ManaBar', healthManaPanel)
2011-11-14 09:21:01 +01:00
manaBar:setId('manaBar')
2011-11-04 00:10:12 +01:00
local manaLabel = createWidget('ManaLabel', healthManaPanel)
2011-11-04 00:10:12 +01:00
manaLabel:setId('manaLabel')
manaLabel:setText('0 / 0')
2011-11-14 09:21:01 +01:00
healthManaPanel:setHeight(healthBar:getHeight() + manaBar:getHeight() + 4)
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
end
-- hooked events
2011-12-22 05:06:00 +01:00
function HealthBar.onHealthChange(health, maxHealth)
2011-11-04 00:10:12 +01:00
local label = healthManaPanel:getChildById('healthLabel')
label:setText(health .. ' / ' .. maxHealth)
2011-11-14 15:37:55 +01:00
2011-11-14 09:21:01 +01:00
local healthBar = healthManaPanel:getChildById('healthBar')
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)
2011-11-04 00:10:12 +01:00
local label = healthManaPanel:getChildById('manaLabel')
label:setText(mana .. ' / ' .. maxMana)
2011-11-14 15:37:55 +01:00
2011-11-14 09:21:01 +01:00
local manaBar = healthManaPanel:getChildById('manaBar')
2011-11-14 15:37:55 +01:00
local percent
if maxMana == 0 then
percent = 100
else
percent = mana / maxMana * 100
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 })