Files
Brachistochrone/Scenes/Scripts/speed_controls.gd
T
scorpion21211-cmd e24bbbda5d Initial commit
2026-10-03 23:29:41 -04:00

39 lines
1012 B
GDScript

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)