extends HBoxContainer @onready var btn_pause: Button = $BtnPause @onready var btn_x1: Button = $BtnX1 @onready var btn_x2: Button = $BtnX2 @onready var btn_x4: Button = $BtnX4 func _ready() -> void: process_mode = Node.PROCESS_MODE_ALWAYS btn_pause.pressed.connect(_on_pause) btn_x1.pressed.connect(_on_x1) btn_x2.pressed.connect(_on_x2) btn_x4.pressed.connect(_on_x4) if GameState.has_signal("time_scale_changed"): GameState.time_scale_changed.connect(_on_scale_changed) _on_scale_changed(GameState.time_scale) func _on_pause() -> void: GameState.set_time_scale(0.0) func _on_x1() -> void: GameState.set_time_scale(1.0) func _on_x2() -> void: GameState.set_time_scale(2.0) func _on_x4() -> void: GameState.set_time_scale(4.0) func _on_scale_changed(new_scale: float) -> void: btn_pause.disabled = is_equal_approx(new_scale, 0.0) btn_x1.disabled = is_equal_approx(new_scale, 1.0) btn_x2.disabled = is_equal_approx(new_scale, 2.0) btn_x4.disabled = is_equal_approx(new_scale, 4.0)