class_name Controls extends Control var rem_tween: Tween var es_tween: Tween @onready var player_1_label: Label = %Player1Label @onready var player_1_money: Label = %Player1Money @onready var turn_label: Label = %TurnLabel @onready var submit_button: Button = %Submit @onready var pause_button: Button = %Pause @onready var play_button: Button = %Play @onready var blueprints_container: Container = %BlueprintsContainer @onready var start_walls: Button = %StartWalls @onready var stop_walls: Button = %StopWalls @onready var fast_1: Button = %FastForward1 @onready var fast_2: Button = %FastForward2 @onready var fast_4: Button = %FastForward4 @onready var fast_10: Button = %FastForward10 func reset_turn() -> void: get_tree().call_group("Pausable", "pause") submit_button.show() pause_button.hide() play_button.hide() func set_turn(turn: int) -> void: turn_label.text = str(turn) func set_players(players: Array[Player]) -> void: _update_player_info(players[0]) players[0].changed.connect(_update_player_info) func _update_player_info(player: Player) -> void: player_1_label.text = "%s:" % player.name player_1_money.text = "$%d" % player.money func _on_submit_pressed(): get_tree().call_group("Pausable", "unpause") submit_button.hide() pause_button.show() func _on_pause_pressed(): get_tree().call_group("Pausable", "pause") play_button.show() pause_button.hide() func _on_play_pressed(): get_tree().call_group("Pausable", "unpause") play_button.hide() pause_button.show() func _on_blueprints_pressed(): _show_real_estate_market() func handle_tile_selected(tile: Tile): _hide_real_estate_market() Globals.game.select_tile(tile) func handle_building_selected(building: Building) -> void: _hide_real_estate_market() Globals.game.select_building(building) func _on_walls_pressed(): Globals.game.place_walls() if start_walls.visible: start_walls.hide() stop_walls.show() else: start_walls.show() stop_walls.hide() _hide_real_estate_market() func _hide_real_estate_market() -> void: if is_instance_valid(rem_tween): rem_tween.kill() rem_tween = create_tween() rem_tween.set_ignore_time_scale(true) rem_tween.set_trans(Tween.TRANS_BACK) rem_tween.tween_property(blueprints_container, "position:y", -450, 0.5) func _show_real_estate_market() -> void: if is_instance_valid(rem_tween): rem_tween.kill() rem_tween = create_tween() rem_tween.set_ignore_time_scale(true) rem_tween.set_trans(Tween.TRANS_BACK) rem_tween.tween_property(blueprints_container, "position:y", 0, 0.5) func _speed_up_engine(speed: float) -> void: if is_instance_valid(es_tween): es_tween.kill() es_tween = create_tween() es_tween.set_ignore_time_scale(true) es_tween.tween_property(Engine, "time_scale", speed, 0.5) func _on_fast_forward_1_pressed(): _speed_up_engine(2) fast_1.hide() fast_2.show() fast_4.hide() fast_10.hide() func _on_fast_forward_2_pressed(): _speed_up_engine(4) fast_1.hide() fast_2.hide() fast_4.show() fast_10.hide() func _on_fast_forward_4_pressed(): _speed_up_engine(10) fast_1.hide() fast_2.hide() fast_4.hide() fast_10.show() func _on_fast_forward_10_pressed(): _speed_up_engine(1) fast_1.show() fast_2.hide() fast_4.hide() fast_10.hide()