health bar improvements
This commit is contained in:
parent
e74bca2c3a
commit
91572b4802
|
@ -7,19 +7,29 @@ local healthManaPanel = nil
|
||||||
function HealthMana.create()
|
function HealthMana.create()
|
||||||
healthManaPanel = loadUI("/health_mana/health_mana.otui", Game.gameRightPanel)
|
healthManaPanel = loadUI("/health_mana/health_mana.otui", Game.gameRightPanel)
|
||||||
|
|
||||||
|
local healthBar = UIProgressBar.create()
|
||||||
|
healthManaPanel:addChild(healthBar)
|
||||||
|
healthBar:setId('healthBar')
|
||||||
|
healthBar:setStyle('HealthBar')
|
||||||
|
|
||||||
local healthLabel = UILabel.create()
|
local healthLabel = UILabel.create()
|
||||||
healthManaPanel:addChild(healthLabel)
|
healthManaPanel:addChild(healthLabel)
|
||||||
healthLabel:setId('healthLabel')
|
healthLabel:setId('healthLabel')
|
||||||
healthLabel:setStyle('HealthLabel')
|
healthLabel:setStyle('HealthLabel')
|
||||||
healthLabel:setText('0 / 0')
|
healthLabel:setText('0 / 0')
|
||||||
|
|
||||||
|
local manaBar = UIProgressBar.create()
|
||||||
|
healthManaPanel:addChild(manaBar)
|
||||||
|
manaBar:setId('manaBar')
|
||||||
|
manaBar:setStyle('ManaBar')
|
||||||
|
|
||||||
local manaLabel = UILabel.create()
|
local manaLabel = UILabel.create()
|
||||||
healthManaPanel:addChild(manaLabel)
|
healthManaPanel:addChild(manaLabel)
|
||||||
manaLabel:setId('manaLabel')
|
manaLabel:setId('manaLabel')
|
||||||
manaLabel:setStyle('ManaLabel')
|
manaLabel:setStyle('ManaLabel')
|
||||||
manaLabel:setText('0 / 0')
|
manaLabel:setText('0 / 0')
|
||||||
|
|
||||||
healthManaPanel:setHeight(healthLabel:getHeight() + manaLabel:getHeight())
|
healthManaPanel:setHeight(healthBar:getHeight() + manaBar:getHeight() + 4)
|
||||||
end
|
end
|
||||||
|
|
||||||
function HealthMana.destroy()
|
function HealthMana.destroy()
|
||||||
|
@ -31,11 +41,17 @@ end
|
||||||
function Game.onHealthChange(health, maxHealth)
|
function Game.onHealthChange(health, maxHealth)
|
||||||
local label = healthManaPanel:getChildById('healthLabel')
|
local label = healthManaPanel:getChildById('healthLabel')
|
||||||
label:setText(health .. ' / ' .. maxHealth)
|
label:setText(health .. ' / ' .. maxHealth)
|
||||||
|
|
||||||
|
local healthBar = healthManaPanel:getChildById('healthBar')
|
||||||
|
healthBar:setPercent(health / maxHealth * 100)
|
||||||
end
|
end
|
||||||
|
|
||||||
function Game.onManaChange(mana, maxMana)
|
function Game.onManaChange(mana, maxMana)
|
||||||
local label = healthManaPanel:getChildById('manaLabel')
|
local label = healthManaPanel:getChildById('manaLabel')
|
||||||
label:setText(mana .. ' / ' .. maxMana)
|
label:setText(mana .. ' / ' .. maxMana)
|
||||||
|
|
||||||
|
local manaBar = healthManaPanel:getChildById('manaBar')
|
||||||
|
manaBar:setPercent(mana / maxMana * 100)
|
||||||
end
|
end
|
||||||
|
|
||||||
connect(Game, { onLogin = HealthMana.create,
|
connect(Game, { onLogin = HealthMana.create,
|
||||||
|
|
|
@ -1,22 +1,36 @@
|
||||||
|
HealthBar < UIProgressBar
|
||||||
|
color: black
|
||||||
|
height: 15
|
||||||
|
background-color: red
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
|
|
||||||
|
ManaBar < UIProgressBar
|
||||||
|
color: black
|
||||||
|
height: 15
|
||||||
|
background-color: blue
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
|
|
||||||
HealthLabel < Label
|
HealthLabel < Label
|
||||||
color: white
|
color: white
|
||||||
background-color: red
|
|
||||||
align: center
|
align: center
|
||||||
font: verdana-11px-monochrome
|
font: verdana-11px-rounded
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
anchors.top: parent.top
|
anchors.top: parent.top
|
||||||
image: /core_styles/images/empty_rect.png
|
margin.top: 2
|
||||||
|
|
||||||
ManaLabel < Label
|
ManaLabel < Label
|
||||||
color: white
|
color: white
|
||||||
background-color: blue
|
|
||||||
align: center
|
align: center
|
||||||
font: verdana-11px-monochrome
|
font: verdana-11px-rounded
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
image: /core_styles/images/empty_rect.png
|
margin.bottom: -1
|
||||||
|
|
||||||
UIWindow
|
UIWindow
|
||||||
id: healthManaPanel
|
id: healthManaPanel
|
||||||
|
@ -25,5 +39,4 @@ UIWindow
|
||||||
margin.left: 6
|
margin.left: 6
|
||||||
margin.right: 6
|
margin.right: 6
|
||||||
move policy: free updated
|
move policy: free updated
|
||||||
image: /core_styles/images/empty_rect.png
|
|
||||||
|
|
||||||
|
|
|
@ -1,56 +0,0 @@
|
||||||
Skills = {}
|
|
||||||
|
|
||||||
-- private variables
|
|
||||||
local skillWindow = nil
|
|
||||||
local skills = {"Fist Fighting", "Club Fighting", "Sword Fighting", "Axe Fighting", "Distance Fighting", "Shielding", "Fishing"}
|
|
||||||
|
|
||||||
-- public functions
|
|
||||||
function Skills.create()
|
|
||||||
skillWindow = loadUI("/skills/skills.otui", Game.gameRightPanel)
|
|
||||||
|
|
||||||
local skillPanel = skillWindow:getChildById('skillPanel')
|
|
||||||
|
|
||||||
-- create first widget cause of layout
|
|
||||||
local widget = UIWidget.create()
|
|
||||||
skillPanel:addChild(widget)
|
|
||||||
widget:setStyle('SkillFirstWidget')
|
|
||||||
|
|
||||||
-- create skills
|
|
||||||
for i=1,#skills,1 do
|
|
||||||
local nameLabel = UILabel.create()
|
|
||||||
skillPanel:addChild(nameLabel)
|
|
||||||
nameLabel:setStyle('SkillNameLabel')
|
|
||||||
nameLabel:setText(skills[i])
|
|
||||||
|
|
||||||
local levelLabel = UILabel.create()
|
|
||||||
skillPanel:addChild(levelLabel)
|
|
||||||
levelLabel:setStyle('SkillLevelLabel')
|
|
||||||
levelLabel:setId('skillLevelId' .. i)
|
|
||||||
levelLabel:setText('0')
|
|
||||||
|
|
||||||
local percentBar = UIProgressBar.create()
|
|
||||||
skillPanel:addChild(percentBar)
|
|
||||||
percentBar:setStyle('SkillPercentPanel')
|
|
||||||
percentBar:setId('skillPercentId' .. i)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function Skills.destroy()
|
|
||||||
skillWindow:destroy()
|
|
||||||
skillWindow = nil
|
|
||||||
end
|
|
||||||
|
|
||||||
-- hooked events
|
|
||||||
function Game.onSkillUpdate(id, level, percent)
|
|
||||||
local skillPanel = skillWindow:getChildById('skillPanel')
|
|
||||||
|
|
||||||
local levelLabel = skillPanel:getChildById('skillLevelId' .. (id + 1))
|
|
||||||
levelLabel:setText(level)
|
|
||||||
|
|
||||||
local percentBar = skillPanel:getChildById('skillPercentId' .. (id + 1))
|
|
||||||
percentBar:setPercent(percent)
|
|
||||||
percentBar:setTooltip("lalalalal2")
|
|
||||||
end
|
|
||||||
|
|
||||||
connect(Game, { onLogin = Skills.create,
|
|
||||||
onLogout = Skills.destroy })
|
|
Loading…
Reference in New Issue