added so you can choose race when starting the game.
This commit is contained in:
@@ -207,10 +207,18 @@ func _find_local_player():
|
||||
if local_players.size() > 0:
|
||||
local_player = local_players[0]
|
||||
if local_player and local_player.character_stats:
|
||||
# Connect to character_changed signal
|
||||
# Connect to character_changed signal (for inventory/equipment changes)
|
||||
if local_player.character_stats.character_changed.is_connected(_on_character_changed):
|
||||
local_player.character_stats.character_changed.disconnect(_on_character_changed)
|
||||
local_player.character_stats.character_changed.connect(_on_character_changed)
|
||||
# Connect to mana_changed signal (for mana updates only - don't rebuild UI)
|
||||
if local_player.character_stats.mana_changed.is_connected(_on_mana_changed):
|
||||
local_player.character_stats.mana_changed.disconnect(_on_mana_changed)
|
||||
local_player.character_stats.mana_changed.connect(_on_mana_changed)
|
||||
# Connect to health_changed signal (for HP updates only - don't rebuild UI)
|
||||
if local_player.character_stats.health_changed.is_connected(_on_health_changed):
|
||||
local_player.character_stats.health_changed.disconnect(_on_health_changed)
|
||||
local_player.character_stats.health_changed.connect(_on_health_changed)
|
||||
# Initial update
|
||||
_update_ui()
|
||||
_update_stats()
|
||||
@@ -1396,6 +1404,20 @@ func _on_inventory_item_gui_input(event: InputEvent, item: Item):
|
||||
# Use the same logic as E key to drop
|
||||
_handle_e_key()
|
||||
|
||||
func _on_mana_changed(new_mana: float, max_mana: float):
|
||||
# Update only MP bar and label when mana changes (don't rebuild entire UI)
|
||||
if mp_progress_bar and mp_value_label:
|
||||
mp_progress_bar.max_value = max(1.0, max_mana)
|
||||
mp_progress_bar.value = new_mana
|
||||
mp_value_label.text = str(int(new_mana)) + "/" + str(int(max_mana))
|
||||
|
||||
func _on_health_changed(new_hp: float, max_hp: float):
|
||||
# Update only HP bar and label when health changes (don't rebuild entire UI)
|
||||
if hp_progress_bar and hp_value_label:
|
||||
hp_progress_bar.max_value = max(1.0, max_hp)
|
||||
hp_progress_bar.value = new_hp
|
||||
hp_value_label.text = str(int(new_hp)) + "/" + str(int(max_hp))
|
||||
|
||||
func _on_character_changed(_char: CharacterStats):
|
||||
# Always update stats when character changes (even if inventory is closed)
|
||||
# Equipment changes affect max HP/MP which should be reflected everywhere
|
||||
|
||||
Reference in New Issue
Block a user