Cow_Life_Sim_RPG/UI/MenuBar/Skills/LevelDisplay.gd

49 lines
1.4 KiB
GDScript

extends HSplitContainer
class_name LevelDisplay
var currentSkill:Skill
var skillIconDisplay:TextureRect
var skillNameDisplay:Label
var skillLevelDisplay:Label
var skillXPBar:ProgressBar
func _ready():
skillIconDisplay = get_node("SkillIcon")
skillNameDisplay = get_node("VSplitContainer/HSplitContainer/SkillName")
skillLevelDisplay = get_node("VSplitContainer/HSplitContainer/SkillLevel")
skillXPBar = get_node("VSplitContainer/XPBar")
func _process(_delta):
if currentSkill != null:
update_xp_bar()
update_level()
update_skill_info(currentSkill)
func update_xp_bar():
skillXPBar.value = currentSkill.currentXP
skillXPBar.max_value = LevelManager.get_XP_to_next_level(currentSkill.currentLevel)
var currentXPString = XpDisplayUtils.xpFormater(currentSkill.currentXP, true)
if skillXPBar.max_value <= 9999999:
var maxXPString = XpDisplayUtils.xpFormater(skillXPBar.max_value, true)
skillXPBar.get_node("XPLabel").text = currentXPString + "/" + maxXPString + "XP"
else:
skillXPBar.get_node("XPLabel").text = currentXPString + "XP"
func update_level():
skillLevelDisplay.text = "Lv. " + str(currentSkill.currentLevel)
func update_skill_info(skill:Skill):
if !skill.hidden:
skillIconDisplay.texture = currentSkill.get_icon()
skillNameDisplay.text = currentSkill.skillName
else:
skillIconDisplay.texture = currentSkill.hiddenIcon
skillNameDisplay.text = "???"
func set_skill(skill:Skill):
currentSkill = skill
update_skill_info(currentSkill)