monsterfangen/ui/battle_ui/battle_ui.gd

55 lines
1.9 KiB
GDScript

extends Control
@onready var battle_moves_menu: VBoxContainer = %BattleMovesMenu
@onready var party_fighter_level: Label = %PartyFighterLevel
@onready var party_fighter_name: Label = %PartyFighterName
@onready var party_fighter_healthbar: ProgressBar = %PartyFighterHealthbar
@onready var enemy_monster_level: Label = %EnemyMonsterLevel
@onready var enemy_monster_name: Label = %EnemyMonsterName
@onready var enemy_monster_healthbar: ProgressBar = %EnemyMonsterHealthbar
var move_button: PackedScene = preload("res://ui/battle_ui/battle_move_button.tscn")
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
self.visible = false
for i: int in range(4):
var button: Node = move_button.instantiate()
battle_moves_menu.add_child(button)
func update() -> void:
var player: Node3D = Utils.get_player()
var player_fighter: MonsterData = SaveManager.current_save.party[0] as MonsterData
party_fighter_level.text = "Lv. %s" % str(player_fighter.level)
party_fighter_name.text = player_fighter.nickname if not player_fighter.nickname.is_empty() else player_fighter.name
party_fighter_healthbar.max_value = player_fighter.health
party_fighter_healthbar.value = player_fighter.current_health
enemy_monster_level.text = "Lv. %s" % player.enemy.data.level
enemy_monster_name.text = player.enemy.data.name
enemy_monster_healthbar.max_value = player.enemy.data.health
enemy_monster_healthbar.value = player.enemy.data.current_health
func _on_battle_button_pressed() -> void:
print("attacking enemy")
Utils.get_player().attack_enemy()
func set_message(msg: String) -> void:
%Message.text = msg
func disable() -> void:
%BattleButton.disabled = true
%PartyButton.disabled = true
%ItemsButton.disabled = true
%RunButton.disabled = true
func enable() -> void:
%BattleButton.disabled = false
%PartyButton.disabled = false
%ItemsButton.disabled = false
%RunButton.disabled = false