This commit is contained in:
2026-04-10 12:07:01 +02:00
parent f671ab3419
commit 5698d06485
7 changed files with 92 additions and 174 deletions

View File

@@ -1,8 +1,6 @@
class_name PrestigePanel
extends PanelContainer
@export var game_state: LevelGameState
@onready var _total_value: Label = $MarginContainer/VBoxContainer/StatsGrid/TotalValue
@onready var _pending_value: Label = $MarginContainer/VBoxContainer/StatsGrid/PendingValue
@onready var _multiplier_value: Label = $MarginContainer/VBoxContainer/StatsGrid/MultiplierValue
@@ -11,6 +9,7 @@ extends PanelContainer
@onready var _reset_button: Button = $MarginContainer/VBoxContainer/Buttons/ResetButton
@onready var _save_button: Button = $MarginContainer/VBoxContainer/Buttons/SaveButton
@onready var _confirm_dialog: ConfirmationDialog = $ConfirmDialog
@onready var game_state: LevelGameState = find_parent("LevelGameState")
var _is_waiting_for_confirm: bool = false
@@ -62,11 +61,11 @@ func _on_confirm_dialog_confirmed() -> void:
return
_is_waiting_for_confirm = false
var manager: Node = _get_prestige_manager()
var manager: PrestigeManager = _get_prestige_manager()
if manager == null:
return
manager.call("perform_prestige")
manager.perform_prestige()
func _on_confirm_dialog_canceled() -> void:
_is_waiting_for_confirm = false
@@ -90,5 +89,5 @@ func _refresh_ui() -> void:
_basis_label.text = "%s (%s)" % [basis_text, basis_value.to_string_suffix(2)]
_reset_button.disabled = not bool(manager.call("can_prestige"))
func _get_prestige_manager() -> Node:
return get_node_or_null("/root/PrestigeManager")
func _get_prestige_manager() -> PrestigeManager:
return game_state.prestige_manager

View File

@@ -8,11 +8,17 @@ extends HBoxContainer
var _basis_value: BigNumber
var _next_threshold: BigNumber
var _manager: Node
var _connected: bool = false
var _game_state: LevelGameState
var _manager: PrestigeManager
func _ready() -> void:
_manager = get_node_or_null("/root/PrestigeManager")
_game_state = find_parent("LevelGameState")
_game_state.ready.connect(_on_game_state_ready)
func _on_game_state_ready() -> void:
_manager = _game_state.prestige_manager
if _manager == null:
push_warning("PrestigeProgressBar '%s' cannot find PrestigeManager; progress bar disabled." % String(name))
visible = false