summaryrefslogtreecommitdiffstats
path: root/top.gd
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2025-11-21 16:56:21 +0200
committerJan Tuomi <jan@jantuomi.fi>2025-11-21 16:56:21 +0200
commit015e7c2d4f237c7a4f6dec21680f1726ca2fa9dc (patch)
treef9427830911de69198a49b9bcb4afcba0ecaca6f /top.gd
parent31d7be95a48f3d36f2daac950dbc7cdaabeb5b86 (diff)
Move touchscreen UI out of the room scene
Diffstat (limited to 'top.gd')
-rw-r--r--top.gd19
1 files changed, 11 insertions, 8 deletions
diff --git a/top.gd b/top.gd
index a40a246..71f1d0e 100644
--- a/top.gd
+++ b/top.gd
@@ -25,7 +25,10 @@ func _ready() -> void:
func _process(_delta: float):
if Input.is_action_just_pressed("menu"):
- on_esc_pressed()
+ if $Map.visible:
+ close_pause_menu()
+ elif active_room_name != "MainMenu":
+ open_pause_menu()
func save():
save_state.save("user://save_state.cfg")
@@ -35,6 +38,13 @@ func replace_active_room(new_room: Node, on_changed: Callable):
remove_child(current_room)
current_room.queue_free()
+ var next_is_main_menu = new_room.name == "MainMenu"
+ var touchscreen_ui_exists = has_node("TouchScreenUI")
+ if next_is_main_menu and touchscreen_ui_exists:
+ remove_child(get_node("TouchScreenUI"))
+ elif not next_is_main_menu and not touchscreen_ui_exists:
+ add_child(preload("res://touch_screen_ui.tscn").instantiate())
+
active_room_name = new_room.name
new_room.name = "ActiveRoom"
new_room.connect("tree_entered", on_changed)
@@ -47,16 +57,9 @@ func get_map() -> Map:
func get_transition_manager() -> TransitionManager:
return $TransitionManager
-func on_esc_pressed():
- if $Map.visible:
- close_pause_menu()
- elif active_room_name != "MainMenu":
- open_pause_menu()
-
func open_pause_menu():
get_tree().paused = true
$Map.show_map()
- $Map.connect_close_map(close_pause_menu)
func close_pause_menu():
get_tree().paused = false