Merge pull request #268 from ricardoianelli/master

Added experience bar to healthinfo
This commit is contained in:
Henrique Santiago 2013-02-09 11:36:39 -08:00
commit 6f37361df0
2 changed files with 42 additions and 4 deletions

View File

@ -20,15 +20,18 @@ Icons[65536] = { tooltip = tr('You are hungry'), path = '/images/game/states/hun
healthInfoWindow = nil
healthBar = nil
manaBar = nil
experienceBar = nil
soulBar = nil
healthLabel = nil
manaLabel = nil
experienceLabel = nil
soulLabel = nil
capLabel = nil
function init()
connect(LocalPlayer, { onHealthChange = onHealthChange,
onManaChange = onManaChange,
onLevelChange = onLevelChange,
onStatesChange = onStatesChange,
onSoulChange = onSoulChange,
onFreeCapacityChange = onFreeCapacityChange })
@ -42,8 +45,10 @@ function init()
healthInfoWindow:disableResize()
healthBar = healthInfoWindow:recursiveGetChildById('healthBar')
manaBar = healthInfoWindow:recursiveGetChildById('manaBar')
experienceBar = healthInfoWindow:recursiveGetChildById('experienceBar')
healthLabel = healthInfoWindow:recursiveGetChildById('healthLabel')
manaLabel = healthInfoWindow:recursiveGetChildById('manaLabel')
experienceLabel = healthInfoWindow:recursiveGetChildById('experienceLabel')
soulBar = healthInfoWindow:recursiveGetChildById('soulBar')
soulLabel = healthInfoWindow:recursiveGetChildById('soulLabel')
capLabel = healthInfoWindow:recursiveGetChildById('capLabel')
@ -52,6 +57,7 @@ function init()
local localPlayer = g_game.getLocalPlayer()
onHealthChange(localPlayer, localPlayer:getHealth(), localPlayer:getMaxHealth())
onManaChange(localPlayer, localPlayer:getMana(), localPlayer:getMaxMana())
onLevelChange(localPlayer, localPlayer:getLevel(), localPlayer:getLevelPercent())
onStatesChange(localPlayer, localPlayer:getStates(), 0)
onSoulChange(localPlayer, localPlayer:getSoul())
onFreeCapacityChange(localPlayer, localPlayer:getFreeCapacity())
@ -63,6 +69,7 @@ end
function terminate()
disconnect(LocalPlayer, { onHealthChange = onHealthChange,
onManaChange = onManaChange,
onLevelChange = onLevelChange,
onStatesChange = onStatesChange,
onSoulChange = onSoulChange,
onFreeCapacityChange = onFreeCapacityChange })
@ -90,6 +97,13 @@ function hideLabels()
healthInfoWindow:setHeight(math.max(healthInfoWindow.minimizedHeight, healthInfoWindow:getHeight() - removeHeight))
end
function hideExperience()
experienceBar:hide()
experienceLabel:hide()
local removeHeight = experienceBar:getHeight() + experienceBar:getMarginTop() + experienceBar:getMarginBottom()
healthInfoWindow:setHeight(math.max(healthInfoWindow.minimizedHeight, healthInfoWindow:getHeight() - removeHeight))
end
function onMiniWindowClose()
healthInfoButton:setOn(false)
end
@ -116,6 +130,11 @@ function onManaChange(localPlayer, mana, maxMana)
manaBar:setPercent(percent)
end
function onLevelChange(localPlayer, value, percent)
experienceLabel:setText(percent .. "%")
experienceBar:setPercent(percent)
end
function onSoulChange(localPlayer, soul)
soulLabel:setText(tr('Soul') .. ': ' .. soul)
end
@ -152,4 +171,3 @@ function toggleIcon(bitChanged)
icon:setTooltip(Icons[bitChanged].tooltip)
end
end

View File

@ -15,6 +15,15 @@ ManaBar < ProgressBar
anchors.right: parent.right
margin-top: 4
ExperienceBar < ProgressBar
id: experienceBar
height: 15
background-color: yellow
anchors.top: prev.bottom
anchors.left: parent.left
anchors.right: parent.right
margin-top: 4
HealthLabel < GameLabel
id: healthLabel
color: white
@ -33,6 +42,15 @@ ManaLabel < GameLabel
margin-top: 2
text: 0 / 0
ExperienceLabel < GameLabel
id: experienceLabel
color: white
text-align: center
font: verdana-11px-rounded
anchors.fill: experienceBar
margin-top: 2
text: 0 / 0
SoulLabel < GameLabel
id: soulLabel
text-align: right
@ -66,7 +84,7 @@ MiniWindow
icon: /images/topbuttons/healthinfo
id: healthInfoWindow
!text: tr('Health Info')
height: 102
height: 117
@onClose: modules.game_healthinfo.onMiniWindowClose()
&save: true
@ -75,6 +93,8 @@ MiniWindow
HealthLabel
ManaBar
ManaLabel
ExperienceBar
ExperienceLabel
Panel
id: conditionPanel
layout: