summaryrefslogtreecommitdiffstats
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
parent31d7be95a48f3d36f2daac950dbc7cdaabeb5b86 (diff)
Move touchscreen UI out of the room scene
-rw-r--r--map.gd6
-rw-r--r--room_test1.tscn5
-rw-r--r--room_test2.tscn5
-rw-r--r--room_test3.tscn5
-rw-r--r--top.gd19
-rw-r--r--touch_screen_button.gd4
6 files changed, 19 insertions, 25 deletions
diff --git a/map.gd b/map.gd
index 4fa9a0c..42a5c29 100644
--- a/map.gd
+++ b/map.gd
@@ -22,9 +22,6 @@ func set_active_name(map_room_name: String):
if active_map_room:
active_map_room.color = active_color
-func connect_close_map(callable: Callable):
- $UnpauseButton.connect("pressed", callable)
-
func show_map():
visible = true
$UnpauseButton.mouse_filter = Control.MOUSE_FILTER_STOP
@@ -32,3 +29,6 @@ func show_map():
func hide_map():
visible = false
$UnpauseButton.mouse_filter = Control.MOUSE_FILTER_IGNORE
+
+func _on_unpause_button_pressed() -> void:
+ Input.action_press("menu")
diff --git a/room_test1.tscn b/room_test1.tscn
index 9ce6e88..55b2103 100644
--- a/room_test1.tscn
+++ b/room_test1.tscn
@@ -1,9 +1,8 @@
-[gd_scene load_steps=8 format=4 uid="uid://cfj21o6wsd3hv"]
+[gd_scene load_steps=7 format=4 uid="uid://cfj21o6wsd3hv"]
[ext_resource type="Texture2D" uid="uid://o0yy2jkyp0dy" path="res://assets/kenney_1-bit-platformer-pack/Tilemap/monochrome_tilemap_transparent_packed.png" id="1_ubxha"]
[ext_resource type="PackedScene" uid="uid://coxnsharboouu" path="res://player.tscn" id="2_qglt1"]
[ext_resource type="PackedScene" uid="uid://dfyvkc2qlcdac" path="res://game_camera.tscn" id="3_mrrx3"]
-[ext_resource type="PackedScene" uid="uid://cciwccvljuuyq" path="res://touch_screen_ui.tscn" id="5_r17u5"]
[ext_resource type="PackedScene" uid="uid://df0loiahar23o" path="res://door.tscn" id="6_lfjh7"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_0e48y"]
@@ -459,8 +458,6 @@ process_callback = 0
position_smoothing_speed = 3.0
offset_amt = Vector2(40, 14)
-[node name="TouchScreenUI" parent="." instance=ExtResource("5_r17u5")]
-
[node name="DoorMiddle" parent="." instance=ExtResource("6_lfjh7")]
position = Vector2(430, 170)
scale = Vector2(1, 4)
diff --git a/room_test2.tscn b/room_test2.tscn
index 4f5fba4..c4321f4 100644
--- a/room_test2.tscn
+++ b/room_test2.tscn
@@ -1,9 +1,8 @@
-[gd_scene load_steps=8 format=4 uid="uid://cm4xqhbvyndt1"]
+[gd_scene load_steps=7 format=4 uid="uid://cm4xqhbvyndt1"]
[ext_resource type="Texture2D" uid="uid://o0yy2jkyp0dy" path="res://assets/kenney_1-bit-platformer-pack/Tilemap/monochrome_tilemap_transparent_packed.png" id="1_otugw"]
[ext_resource type="PackedScene" uid="uid://coxnsharboouu" path="res://player.tscn" id="2_0kik6"]
[ext_resource type="PackedScene" uid="uid://dfyvkc2qlcdac" path="res://game_camera.tscn" id="3_vjuef"]
-[ext_resource type="PackedScene" uid="uid://cciwccvljuuyq" path="res://touch_screen_ui.tscn" id="5_a1hvs"]
[ext_resource type="PackedScene" uid="uid://df0loiahar23o" path="res://door.tscn" id="6_0kik6"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_0e48y"]
@@ -459,8 +458,6 @@ process_callback = 0
position_smoothing_speed = 3.0
offset_amt = Vector2(40, 14)
-[node name="TouchScreenUI" parent="." instance=ExtResource("5_a1hvs")]
-
[node name="DoorLeft" parent="." instance=ExtResource("6_0kik6")]
position = Vector2(-28, 88)
scale = Vector2(1, 4)
diff --git a/room_test3.tscn b/room_test3.tscn
index b047361..c3c113f 100644
--- a/room_test3.tscn
+++ b/room_test3.tscn
@@ -1,9 +1,8 @@
-[gd_scene load_steps=8 format=4 uid="uid://3o7g1rxy06sb"]
+[gd_scene load_steps=7 format=4 uid="uid://3o7g1rxy06sb"]
[ext_resource type="Texture2D" uid="uid://o0yy2jkyp0dy" path="res://assets/kenney_1-bit-platformer-pack/Tilemap/monochrome_tilemap_transparent_packed.png" id="1_mtemi"]
[ext_resource type="PackedScene" uid="uid://coxnsharboouu" path="res://player.tscn" id="2_bml3v"]
[ext_resource type="PackedScene" uid="uid://dfyvkc2qlcdac" path="res://game_camera.tscn" id="3_w1h0g"]
-[ext_resource type="PackedScene" uid="uid://cciwccvljuuyq" path="res://touch_screen_ui.tscn" id="5_rlnij"]
[ext_resource type="PackedScene" uid="uid://df0loiahar23o" path="res://door.tscn" id="6_i21us"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_0e48y"]
@@ -458,8 +457,6 @@ process_callback = 0
position_smoothing_speed = 3.0
offset_amt = Vector2(40, 14)
-[node name="TouchScreenUI" parent="." instance=ExtResource("5_rlnij")]
-
[node name="DoorUp" parent="." instance=ExtResource("6_i21us")]
position = Vector2(96, 20)
scale = Vector2(4, 1)
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
diff --git a/touch_screen_button.gd b/touch_screen_button.gd
index 07958ea..1a84776 100644
--- a/touch_screen_button.gd
+++ b/touch_screen_button.gd
@@ -1,10 +1,10 @@
extends TouchScreenButton
@export var texture: Texture2D
+@export var desktop_visible: bool
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
$TextureRect.texture = texture
if not DisplayServer.is_touchscreen_available():
- visible = false
- #visible = true
+ visible = desktop_visible