generated from krampus/template-godot4
63 lines
1.5 KiB
GDScript
63 lines
1.5 KiB
GDScript
extends Control
|
|
|
|
signal select_tile(tile: Tile)
|
|
signal select_building(building: Building)
|
|
|
|
@export var game: Game
|
|
|
|
var rem_tween: Tween
|
|
|
|
@onready var play_button: Button = %Play
|
|
@onready var pause_button: Button = %Pause
|
|
@onready var blueprints_container: Container = %BlueprintsContainer
|
|
@onready var start_walls: Button = %StartWalls
|
|
@onready var stop_walls: Button = %StopWalls
|
|
|
|
func _on_play_pressed():
|
|
get_tree().paused = false
|
|
play_button.hide()
|
|
pause_button.show()
|
|
|
|
|
|
func _on_pause_pressed():
|
|
get_tree().paused = true
|
|
play_button.show()
|
|
pause_button.hide()
|
|
|
|
|
|
func _on_blueprints_pressed():
|
|
_show_real_estate_market()
|
|
|
|
|
|
func handle_tile_selected(tile: Tile):
|
|
_hide_real_estate_market()
|
|
select_tile.emit(tile)
|
|
|
|
func handle_building_selected(building: Building) -> void:
|
|
_hide_real_estate_market()
|
|
select_building.emit(building)
|
|
|
|
func _on_walls_pressed():
|
|
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_trans(Tween.TRANS_BACK)
|
|
rem_tween.tween_property(blueprints_container, "position:y", -300, 0.5)
|
|
|
|
func _show_real_estate_market() -> void:
|
|
if is_instance_valid(rem_tween):
|
|
rem_tween.kill()
|
|
rem_tween = create_tween()
|
|
rem_tween.set_trans(Tween.TRANS_BACK)
|
|
rem_tween.tween_property(blueprints_container, "position:y", 0, 0.5)
|