fix uiprogressbar assert

master
Eduardo Bart 13 years ago
parent 5784644701
commit 654fb1f3ea

@ -17,7 +17,7 @@ function HealthMana.create()
healthLabel:setId('healthLabel') healthLabel:setId('healthLabel')
healthLabel:setStyle('HealthLabel') healthLabel:setStyle('HealthLabel')
healthLabel:setText('0 / 0') healthLabel:setText('0 / 0')
local manaBar = UIProgressBar.create() local manaBar = UIProgressBar.create()
healthManaPanel:addChild(manaBar) healthManaPanel:addChild(manaBar)
manaBar:setId('manaBar') manaBar:setId('manaBar')
@ -41,7 +41,7 @@ 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') local healthBar = healthManaPanel:getChildById('healthBar')
healthBar:setPercent(health / maxHealth * 100) healthBar:setPercent(health / maxHealth * 100)
end end
@ -49,9 +49,16 @@ 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') local manaBar = healthManaPanel:getChildById('manaBar')
manaBar:setPercent(mana / maxMana * 100)
local percent
if maxMana == 0 then
percent = 100
else
percent = mana / maxMana * 100
end
manaBar:setPercent(percent)
end end
connect(Game, { onLogin = HealthMana.create, connect(Game, { onLogin = HealthMana.create,

@ -50,10 +50,8 @@ local function onWidgetHoverChange(widget, hovered)
end end
local function onWidgetStyleApply(widget, style) local function onWidgetStyleApply(widget, style)
if not style or not style.tooltip then return end if not style then return end
print(style.tooltip)
widget.tooltip = style.tooltip widget.tooltip = style.tooltip
table.dump(style)
end end
connect(UIWidget, { onStyleApply = onWidgetStyleApply, connect(UIWidget, { onStyleApply = onWidgetStyleApply,

@ -48,6 +48,7 @@ void UIProgressBar::render()
void UIProgressBar::setPercent(double percent) void UIProgressBar::setPercent(double percent)
{ {
assert(percent >= 0 && percent <= 100); if(percent == NAN)
m_percent = percent; percent = 0;
m_percent = std::min(std::max(percent, 0.0), 100.0);
} }

Loading…
Cancel
Save