summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2025-11-21 13:11:52 +0200
committerJan Tuomi <jan@jantuomi.fi>2025-11-21 13:11:52 +0200
commit7b44fcc1ef95fdfcc6723f8e6a594012764a8cab (patch)
tree3e6a81960e26be5ed9185f3d94f54886a153645a
parent1018d3f39ada7aca726fbed2befb5550549ba3cb (diff)
Separate TransitionManager from Top
-rw-r--r--door.gd4
-rw-r--r--esc_listener.gd4
-rw-r--r--player.gd1
-rw-r--r--room.gd2
-rw-r--r--room.gd.uid1
-rw-r--r--room_main_menu.gd4
-rw-r--r--room_test1.tscn5
-rw-r--r--room_test3.tscn1
-rw-r--r--top.gd67
-rw-r--r--top.tscn100
-rw-r--r--transition_manager.gd55
-rw-r--r--transition_manager.gd.uid1
-rw-r--r--transition_manager.tscn101
13 files changed, 174 insertions, 172 deletions
diff --git a/door.gd b/door.gd
index e8dc59d..ae05d39 100644
--- a/door.gd
+++ b/door.gd
@@ -2,7 +2,7 @@
class_name Door
extends Area2D
-@onready var top: Top = get_tree().root.get_node("Top")
+@onready var transition_manager: TransitionManager = get_tree().root.get_node("Top/TransitionManager")
var _target_room: Variant
var _target_door: Variant
@@ -30,7 +30,7 @@ func _get(property):
func _on_body_entered(_player: Player) -> void:
if not Engine.is_editor_hint():
- top.room_transition(self, _target_room, _target_door)
+ transition_manager.room_transition(self, _target_room, _target_door)
func _get_property_list() -> Array[Dictionary]:
var rooms: PackedStringArray = []
diff --git a/esc_listener.gd b/esc_listener.gd
index a10d9d6..ecb68bd 100644
--- a/esc_listener.gd
+++ b/esc_listener.gd
@@ -1,7 +1,7 @@
extends Node
-@onready var top: Top = get_tree().root.get_node("Top")
+@onready var transition_manager: TransitionManager = get_tree().root.get_node("Top/TransitionManager")
func _process(_delta: float) -> void:
if Input.is_action_just_pressed("menu"):
- top.room_transition(null, "res://room_main_menu.tscn", null)
+ transition_manager.room_transition(null, "res://room_main_menu.tscn", null)
diff --git a/player.gd b/player.gd
index 3d9addd..6c5d142 100644
--- a/player.gd
+++ b/player.gd
@@ -104,5 +104,4 @@ func set_forced_input(dir: Variant):
forced_input_x = 0.0
gravity = 0.0
elif dir == "DROP":
- velocity.y = 0.0
forced_input_x = 0.0
diff --git a/room.gd b/room.gd
deleted file mode 100644
index e06ee5d..0000000
--- a/room.gd
+++ /dev/null
@@ -1,2 +0,0 @@
-class_name Room
-extends Node2D
diff --git a/room.gd.uid b/room.gd.uid
deleted file mode 100644
index bd32f85..0000000
--- a/room.gd.uid
+++ /dev/null
@@ -1 +0,0 @@
-uid://cbhily4o7e2r3
diff --git a/room_main_menu.gd b/room_main_menu.gd
index fd595a5..5c25f9c 100644
--- a/room_main_menu.gd
+++ b/room_main_menu.gd
@@ -6,5 +6,5 @@ func _ready() -> void:
$TestRoomButton.pressed.connect(_test_room_button_pressed)
func _test_room_button_pressed():
- var top: Top = get_tree().root.get_node("Top")
- top.room_transition(null, "res://room_test1.tscn", null)
+ var transition_manager: TransitionManager = get_tree().root.get_node("Top/TransitionManager")
+ transition_manager.room_transition(null, "res://room_test1.tscn", null)
diff --git a/room_test1.tscn b/room_test1.tscn
index 5c06f1a..979b442 100644
--- a/room_test1.tscn
+++ b/room_test1.tscn
@@ -1,6 +1,5 @@
-[gd_scene load_steps=10 format=4 uid="uid://cfj21o6wsd3hv"]
+[gd_scene load_steps=9 format=4 uid="uid://cfj21o6wsd3hv"]
-[ext_resource type="Script" uid="uid://cbhily4o7e2r3" path="res://room.gd" id="1_qglt1"]
[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"]
@@ -442,8 +441,6 @@ sources/1 = SubResource("TileSetAtlasSource_0e48y")
[node name="RoomTest1" type="Node2D"]
process_mode = 1
-script = ExtResource("1_qglt1")
-metadata/_custom_type_script = "uid://cbhily4o7e2r3"
[node name="TileMapLayer" type="TileMapLayer" parent="."]
tile_map_data = PackedByteArray("AAACAAYAAQAIAAQAAAADAAYAAQAIAAQAAAAEAAYAAQAIAAQAAAAFAAYAAQAIAAQAAAAGAAYAAQAIAAQAAAAHAAYAAQAIAAQAAAAIAAYAAQAIAAQAAAACAAcAAQAIAAUAAAACAAgAAQAIAAUAAAADAAgAAQAIAAUAAAAEAAgAAQAIAAUAAAAEAAkAAQAIAAUAAAAFAAkAAQAIAAUAAAAGAAkAAQAIAAUAAAAHAAkAAQAIAAUAAAAHAAgAAQAIAAUAAAAIAAgAAQAIAAUAAAAIAAcAAQAIAAUAAAAHAAcAAQAIAAUAAAAGAAcAAQAIAAUAAAAFAAcAAQAIAAUAAAAEAAcAAQAIAAUAAAADAAcAAQAIAAUAAAAFAAgAAQAIAAUAAAAGAAgAAQAIAAUAAAAJAAUAAQAHAAUAAAAJAAQAAQAHAAQAAAAKAAQAAQAIAAQAAAALAAQAAQAJAAQAAAALAAUAAQAJAAUAAAALAAYAAQAJAAUAAAALAAcAAQAJAAUAAAAMAAgAAQAIAAQAAAANAAgAAQAIAAQAAAALAAgAAQAIAAUAAAAKAAgAAQAIAAUAAAAKAAcAAQAIAAUAAAAKAAYAAQAIAAUAAAAKAAUAAQAIAAUAAAAJAAYAAQAIAAUAAAAJAAcAAQAIAAUAAAAJAAgAAQAIAAUAAAAJAAkAAQAIAAUAAAAIAAkAAQAIAAUAAAAKAAkAAQAIAAUAAAALAAkAAQAIAAUAAAAMAAkAAQAIAAUAAAAMAAcAAQASAAEAAAABAAUAAQAAAAAAAAABAAQAAQAAAAAAAAABAAMAAQAJAAYAAAABAAIAAQAJAAUAAAAAAAIAAQAIAAUAAAAAAAMAAQAIAAYAAAAAAAQAAQAAAAAAAAAAAAUAAQAAAAAAAAAAAAYAAQAHAAQAAAAAAAcAAQAHAAUAAAABAAYAAQAIAAQAAAABAAcAAQAIAAUAAAABAAgAAQAIAAUAAAABAAkAAQAIAAUAAAAAAAkAAQAHAAUAAAAAAAgAAQAHAAUAAAACAAkAAQAIAAUAAAADAAkAAQAIAAUAAAAOAAYAAQALAAMAAAAOAAgAAQAIAAQAAAAPAAkAAQAIAAUAAAAKAAMAAQAOAAEAAAAKAAIAAQAOAAAAAAAHAAUAAQASAAAAAAAEAAEAAQALAAMAAAAEAAIAAQATAAAAAAAEAAMAAQATAAEAAAAPAAgAAQAIAAQAAAAQAAcAAQAAAAAAAAAQAAYAAQATAAEAAAAQAAUAAQAHAAYAAAAQAAQAAQAHAAQAAAAQAAMAAQAAAAAAAAAQAAIAAQAAAAAAAAAQAAEAAQAAAAAAAAAQAAAAAQAAAAAAAAANAAkAAQAIAAUAAAAOAAkAAQAIAAUAAAAQAAkAAQAIAAUAAAAQAAgAAQAIAAQAAAARAAkAAQAIAAUAAAARAAgAAQAIAAQAAAARAAcAAQAAAAAAAAARAAYAAQAAAAAAAAARAAUAAQAJAAYAAAARAAQAAQAJAAQAAAARAAMAAQANAAIAAAARAAIAAQAAAAAAAAARAAEAAQAAAAAAAAARAAAAAQAAAAAAAAASAAAAAQAAAAAAAAASAAEAAQAAAAAAAAASAAIAAQAAAAAAAAASAAMAAQAAAAAAAAASAAQAAQAAAAAAAAASAAUAAQAAAAAAAAASAAYAAQAAAAAAAAASAAcAAQAAAAAAAAASAAgAAQAJAAQAAAASAAkAAQAIAAUAAAASAAoAAQAIAAUAAAASAAsAAQAIAAUAAAARAAsAAQAIAAUAAAARAAoAAQAIAAUAAAAQAAoAAQAIAAUAAAAPAAoAAQAIAAUAAAAOAAoAAQAIAAUAAAANAAoAAQAIAAUAAAAMAAoAAQAIAAUAAAALAAoAAQAIAAUAAAAKAAoAAQAIAAUAAAAJAAoAAQAIAAUAAAAIAAoAAQAIAAUAAAAHAAoAAQAIAAUAAAAGAAoAAQAIAAUAAAAFAAoAAQAIAAUAAAAEAAoAAQAIAAUAAAADAAoAAQAIAAUAAAACAAoAAQAIAAUAAAABAAoAAQAIAAUAAAAAAAoAAQAHAAUAAAAAAAsAAQAHAAUAAAABAAsAAQAIAAUAAAACAAsAAQAIAAUAAAADAAsAAQAIAAUAAAAEAAsAAQAIAAUAAAAFAAsAAQAIAAUAAAAGAAsAAQAIAAUAAAAHAAsAAQAIAAUAAAAIAAsAAQAIAAUAAAAJAAsAAQAIAAUAAAAKAAsAAQAIAAUAAAALAAsAAQAIAAUAAAAMAAsAAQAIAAUAAAANAAsAAQAIAAUAAAAOAAsAAQAIAAUAAAAPAAsAAQAIAAUAAAAQAAsAAQAIAAUAAAAAAAEAAQAIAAUAAAAAAAAAAQAIAAUAAAAAAP//AQAIAAUAAAAAAP7/AQAIAAUAAAD///7/AQAIAAUAAAD/////AQAIAAUAAAD//wAAAQAIAAUAAAD//wEAAQAIAAUAAAD//wIAAQAIAAUAAAD//wMAAQAIAAYAAAD//wQAAQAAAAAAAAD//wUAAQAAAAAAAAD//wYAAQAAAAAAAAD//wcAAQAAAAAAAAD//wgAAQAAAAAAAAD+/wgAAQAAAAAAAAD+/wcAAQAAAAAAAAD+/wYAAQAAAAAAAAD+/wUAAQAAAAAAAAD+/wQAAQAAAAAAAAD+/wMAAQAIAAYAAAD+/wIAAQAIAAUAAAD+/wEAAQAIAAUAAAD+/wAAAQAIAAUAAAD+////AQAIAAUAAAD+/wkAAQAAAAAAAAD//wkAAQAAAAAAAAD//woAAQAAAAAAAAD//wsAAQAAAAAAAAD+/wsAAQAAAAAAAAD+/woAAQAAAAAAAAABAAEAAQAJAAUAAAABAAAAAQAJAAUAAAABAP//AQAJAAUAAAABAP7/AQAJAAUAAAABAP3/AQAJAAUAAAAQAP//AQAAAAAAAAAQAP7/AQAAAAAAAAAQAP3/AQAAAAAAAAARAP//AQAAAAAAAAAPAAcAAQASAAEAAAAQAPz/AQAAAAAAAAARAP7/AQAAAAAAAAAUAAcAAQAAAAAAAAAUAAYAAQAAAAAAAAAUAAUAAQAHAAYAAAAUAAQAAQAHAAUAAAAUAAMAAQAHAAUAAAAUAAEAAQAAAAAAAAAUAAIAAQAHAAQAAAATAAgAAQAAAAAAAAATAAkAAQAJAAQAAAATAAoAAQAIAAUAAAATAAsAAQAIAAUAAAAUAAsAAQAIAAUAAAAUAAoAAQAJAAQAAAAUAAkAAQAAAAAAAAAUAAgAAQAAAAAAAAAVAAkAAQAAAAAAAAAVAAoAAQAAAAAAAAAVAAsAAQAIAAQAAAAVAAgAAQAAAAAAAAAVAAcAAQAAAAAAAAAVAAYAAQAAAAAAAAAVAAUAAQAIAAYAAAAVAAQAAQAIAAUAAAAVAAMAAQAJAAUAAAAVAAIAAQAJAAQAAAAWAAQAAQAJAAQAAAAXAAUAAQAJAAQAAAAYAAYAAQAJAAQAAAAWAAUAAQAIAAUAAAAWAAYAAQAHAAUAAAAXAAYAAQAIAAUAAAAXAAcAAQAIAAUAAAAWAAcAAQAHAAYAAAAWAAgAAQAAAAAAAAAXAAgAAQAHAAYAAAAWAAkAAQAAAAAAAAAWAAoAAQAAAAAAAAAWAAsAAQAIAAQAAAAXAAsAAQAIAAQAAAAXAAoAAQAAAAAAAAAXAAkAAQAAAAAAAAAYAAkAAQAAAAAAAAAYAAgAAQAIAAYAAAAYAAcAAQAIAAUAAAAYAAoAAQAAAAAAAAAYAAsAAQAIAAQAAAAZAAcAAQAIAAQAAAAaAAcAAQAIAAQAAAAbAAcAAQAIAAQAAAAcAAcAAQAIAAQAAAAdAAcAAQAIAAQAAAAeAAcAAQAIAAQAAAAfAAcAAQAIAAQAAAAgAAcAAQAIAAQAAAAhAAcAAQAIAAQAAAAhAAgAAQAIAAYAAAAhAAkAAQAAAAAAAAAhAAoAAQAAAAAAAAAgAAoAAQAAAAAAAAAgAAkAAQAAAAAAAAAgAAgAAQAIAAYAAAAfAAgAAQAIAAYAAAAfAAkAAQAAAAAAAAAeAAkAAQAAAAAAAAAdAAgAAQAIAAYAAAAcAAgAAQAIAAYAAAAbAAgAAQAIAAYAAAAaAAgAAQAIAAYAAAAZAAgAAQAIAAYAAAAeAAgAAQAIAAYAAAAeAAoAAQAAAAAAAAAdAAoAAQAAAAAAAAAcAAoAAQAAAAAAAAAbAAoAAQAAAAAAAAAbAAkAAQAAAAAAAAAaAAkAAQAAAAAAAAAZAAkAAQAAAAAAAAAcAAkAAQAAAAAAAAAdAAkAAQAAAAAAAAAaAAoAAQAAAAAAAAAZAAoAAQAAAAAAAAAZAAsAAQAIAAQAAAAaAAsAAQAIAAQAAAAbAAsAAQAIAAQAAAAcAAsAAQAIAAQAAAAdAAsAAQAIAAQAAAAeAAsAAQAIAAQAAAAfAAsAAQAIAAQAAAAgAAsAAQAIAAQAAAAfAAoAAQAAAAAAAAAhAAsAAQAIAAQAAAAAAP3/AQAIAAUAAAD///3/AQAIAAUAAAD+//3/AQAIAAUAAAD9//3/AQAIAAUAAAD8//3/AQAIAAUAAAD+//7/AQAIAAUAAAD9//7/AQAIAAUAAAD8//7/AQAIAAUAAAD7//7/AQAIAAUAAAD7//3/AQAIAAUAAAD7////AQAIAAUAAAD8////AQAIAAUAAAD9////AQAIAAUAAAD9/wAAAQAIAAUAAAD9/wEAAQAIAAUAAAD9/wIAAQAIAAUAAAD8/wIAAQAIAAUAAAD7/wEAAQAIAAUAAAD7/wAAAQAIAAUAAAD8/wAAAQAIAAUAAAD8/wEAAQAIAAUAAAD7/wIAAQAIAAUAAAD7/wMAAQAIAAUAAAD8/wMAAQAIAAUAAAD9/wMAAQAIAAUAAAD9/wQAAQAJAAUAAAD8/wQAAQAIAAUAAAD7/wQAAQAIAAUAAAD7/wUAAQAIAAUAAAD8/wUAAQAIAAUAAAD9/wUAAQAJAAUAAAD9/wYAAQAJAAUAAAD8/wYAAQAIAAUAAAD7/wYAAQAIAAUAAAD7/wcAAQAIAAUAAAD8/wcAAQAIAAUAAAD9/wcAAQAJAAUAAAD9/wgAAQAJAAUAAAD8/wgAAQAIAAUAAAD7/wgAAQAIAAUAAAD7/wkAAQAIAAUAAAD8/wkAAQAIAAUAAAD9/wkAAQAJAAUAAAD9/woAAQAJAAUAAAD8/woAAQAIAAUAAAD7/woAAQAIAAUAAAD7/wsAAQAIAAUAAAD8/wsAAQAIAAUAAAD9/wsAAQAJAAUAAAAfAAYAAQAHAAwAAAAfAAUAAQAHAAsAAAAgAAUAAQAIAAsAAAAhAAUAAQAIAAsAAAAiAAcAAQAIAAUAAAAiAAYAAQAHAAUAAAAiAAUAAQAHAAUAAAAiAAQAAQAHAAUAAAAiAAMAAQAHAAUAAAAiAAIAAQAHAAUAAAAiAAEAAQAHAAUAAAAiAAgAAQAIAAYAAAAiAAkAAQAAAAAAAAAiAAoAAQAAAAAAAAAiAAsAAQAIAAQAAAAjAAsAAQAIAAQAAAAjAAoAAQAAAAAAAAAkAAoAAQAAAAAAAAAkAAkAAQAAAAAAAAAjAAkAAQAAAAAAAAAjAAgAAQAIAAYAAAAkAAsAAQAIAAQAAAAkAAgAAQAIAAYAAAAjAAcAAQAIAAUAAAAkAAcAAQAIAAUAAAAkAAYAAQAIAAUAAAAkAAUAAQAIAAUAAAAkAAQAAQAIAAUAAAAkAAMAAQAIAAUAAAAkAAIAAQAIAAUAAAAjAAIAAQAIAAUAAAAjAAEAAQAIAAUAAAAjAAMAAQAIAAUAAAAjAAQAAQAIAAUAAAAjAAUAAQAIAAUAAAAjAAYAAQAIAAUAAAAkAAEAAQAIAAUAAAAjAAAAAQAIAAUAAAAjAP//AQAHAAUAAAAjAP7/AQAHAAUAAAAjAP3/AQAHAAUAAAAjAPz/AQAHAAUAAAAjAPv/AQAHAAUAAAAjAPr/AQAHAAUAAAAkAPr/AQAIAAUAAAAkAPv/AQAIAAUAAAAkAPz/AQAIAAUAAAAkAP3/AQAIAAUAAAAkAP7/AQAIAAUAAAAkAP//AQAIAAUAAAAkAAAAAQAIAAUAAAAhAAMAAQAHAA0AAAAhAAIAAQAHAAsAAAAiAAAAAQAHAAQAAAAYAP//AQAHAA0AAAAZAP//AQAIAAsAAAAaAP//AQAIAAsAAAAbAP//AQAIAAsAAAAcAP//AQAIAAsAAAAdAP//AQAIAAsAAAAeAP//AQAIAAsAAAAfAP//AQAJAAsAAAAgAP//AQAAAAAAAAAcAP7/AQACAAIAAAAjAPn/AQAHAAUAAAAkAPn/AQAIAAUAAAAlAPn/AQAIAAUAAAAmAPn/AQAIAAUAAAAnAPn/AQAIAAUAAAAnAPr/AQAIAAUAAAAnAPv/AQAIAAUAAAAnAPz/AQAIAAUAAAAmAPz/AQAIAAUAAAAmAPv/AQAIAAUAAAAlAPv/AQAIAAUAAAAlAPr/AQAIAAUAAAAmAPr/AQAIAAUAAAAlAPz/AQAIAAUAAAAlAP3/AQAIAAUAAAAmAP3/AQAIAAUAAAAnAP3/AQAIAAUAAAAmAP7/AQAIAAUAAAAlAP7/AQAIAAUAAAAlAP//AQAIAAUAAAAmAP//AQAIAAUAAAAnAP//AQAIAAUAAAAnAP7/AQAIAAUAAAAnAAAAAQAIAAUAAAAmAAAAAQAIAAUAAAAlAAAAAQAIAAUAAAAlAAEAAQAIAAUAAAAmAAEAAQAIAAUAAAAmAAIAAQAIAAUAAAAnAAIAAQAIAAUAAAAnAAMAAQAIAAUAAAAnAAQAAQAIAAUAAAAnAAEAAQAIAAUAAAAnAAUAAQAIAAUAAAAnAAYAAQAIAAUAAAAnAAcAAQAIAAUAAAAnAAgAAQAIAAYAAAAnAAkAAQAAAAAAAAAmAAkAAQAAAAAAAAAmAAgAAQAIAAYAAAAlAAgAAQAIAAYAAAAlAAcAAQAIAAUAAAAlAAYAAQAIAAUAAAAlAAUAAQAIAAUAAAAlAAQAAQAIAAUAAAAlAAMAAQAIAAUAAAAmAAMAAQAIAAUAAAAlAAIAAQAIAAUAAAAmAAQAAQAIAAUAAAAmAAUAAQAIAAUAAAAmAAcAAQAIAAUAAAAmAAYAAQAIAAUAAAAlAAkAAQAAAAAAAAAlAAoAAQAAAAAAAAAlAAsAAQAIAAQAAAAmAAsAAQAIAAQAAAAnAAsAAQAIAAQAAAAnAAoAAQAAAAAAAAAmAAoAAQAAAAAAAAAYAP7/AQAHAAwAAAAYAP3/AQAHAAwAAAAYAPz/AQAHAAwAAAAYAPv/AQAHAAwAAAAYAPr/AQAHAAwAAAAYAPn/AQAHAAwAAAAYAPj/AQAHAAwAAAAYAPf/AQAHAAwAAAAbAAAAAQATAAAAAAAbAAEAAQATAAAAAAAbAAIAAQATAAAAAAAbAAMAAQATAAEAAAAdAAAAAQATAAAAAAAdAAEAAQATAAEAAAAaAAAAAQATAAEAAAAnAAwAAQAIAAUAAAAnAA0AAQAIAAUAAAAnAA4AAQAIAAUAAAAnAA8AAQAIAAUAAAAnABAAAQAIAAUAAAAmABAAAQAIAAUAAAAmAA8AAQAIAAUAAAAmAA4AAQAIAAUAAAAmAA0AAQAIAAUAAAAmAAwAAQAIAAUAAAAlAAwAAQAIAAUAAAAlAA0AAQAIAAUAAAAlAA4AAQAIAAUAAAAlAA8AAQAIAAUAAAAlABAAAQAIAAUAAAAkABAAAQAIAAUAAAAkAA8AAQAIAAUAAAAkAA4AAQAIAAUAAAAkAA0AAQAIAAUAAAAkAAwAAQAIAAUAAAAjAAwAAQAIAAUAAAAjAA0AAQAIAAUAAAAjAA4AAQAIAAUAAAAjAA8AAQAIAAUAAAAjABAAAQAIAAUAAAAiABAAAQAIAAUAAAAiAA8AAQAIAAUAAAAiAA4AAQAIAAUAAAAiAA0AAQAIAAUAAAAiAAwAAQAIAAUAAAAhAAwAAQAIAAUAAAAhAA0AAQAIAAUAAAAhAA4AAQAIAAUAAAAhAA8AAQAIAAUAAAAhABAAAQAIAAUAAAAgABAAAQAIAAUAAAAgAA8AAQAIAAUAAAAgAA4AAQAIAAUAAAAgAA0AAQAIAAUAAAAgAAwAAQAIAAUAAAAfAAwAAQAIAAUAAAAfAA0AAQAIAAUAAAAfAA4AAQAIAAUAAAAfAA8AAQAIAAUAAAAfABAAAQAIAAUAAAAeABAAAQAIAAUAAAAeAA8AAQAIAAUAAAAeAA4AAQAIAAUAAAAeAA0AAQAIAAUAAAAeAAwAAQAIAAUAAAAdAAwAAQAIAAUAAAAdAA0AAQAIAAUAAAAdAA4AAQAIAAUAAAAdAA8AAQAIAAUAAAAdABAAAQAIAAUAAAAcABAAAQAIAAUAAAAcAA8AAQAIAAUAAAAcAA4AAQAIAAUAAAAcAA0AAQAIAAUAAAAcAAwAAQAIAAUAAAAbAAwAAQAIAAUAAAAbAA0AAQAIAAUAAAAbAA4AAQAIAAUAAAAbAA8AAQAIAAUAAAAbABAAAQAIAAUAAAAaABAAAQAIAAUAAAAaAA8AAQAIAAUAAAAaAA4AAQAIAAUAAAAaAA0AAQAIAAUAAAAaAAwAAQAIAAUAAAAZAAwAAQAIAAUAAAAZAA0AAQAIAAUAAAAZAA4AAQAIAAUAAAAZAA8AAQAIAAUAAAAZABAAAQAIAAUAAAAYABAAAQAIAAUAAAAYAA8AAQAIAAUAAAAYAA4AAQAIAAUAAAAYAA0AAQAIAAUAAAAYAAwAAQAIAAUAAAAXAAwAAQAIAAUAAAAXAA0AAQAIAAUAAAAXAA4AAQAIAAUAAAAXAA8AAQAIAAUAAAAXABAAAQAIAAUAAAAWABAAAQAIAAUAAAAWAA8AAQAIAAUAAAAWAA4AAQAIAAUAAAAWAA0AAQAIAAUAAAAWAAwAAQAIAAUAAAAVAAwAAQAIAAUAAAAVAA0AAQAIAAUAAAAVAA4AAQAIAAUAAAAVAA8AAQAIAAUAAAAVABAAAQAIAAUAAAAUABAAAQAIAAUAAAAUAA8AAQAIAAUAAAAUAA4AAQAIAAUAAAAUAA0AAQAIAAUAAAAUAAwAAQAIAAUAAAATAAwAAQAIAAUAAAATAA0AAQAIAAUAAAATAA4AAQAIAAUAAAATAA8AAQAIAAUAAAATABAAAQAIAAUAAAASABAAAQAIAAUAAAASAA8AAQAIAAUAAAASAA4AAQAIAAUAAAASAA0AAQAIAAUAAAASAAwAAQAIAAUAAAARAAwAAQAIAAUAAAARAA0AAQAIAAUAAAARAA4AAQAIAAUAAAARAA8AAQAIAAUAAAARABAAAQAIAAUAAAAQABAAAQAIAAUAAAAQAA8AAQAIAAUAAAAQAA4AAQAIAAUAAAAQAA0AAQAIAAUAAAAQAAwAAQAIAAUAAAAPAAwAAQAIAAUAAAAPAA0AAQAIAAUAAAAPAA4AAQAIAAUAAAAPAA8AAQAIAAUAAAAPABAAAQAIAAUAAAAOABAAAQAIAAUAAAAOAA8AAQAIAAUAAAAOAA4AAQAIAAUAAAAOAA0AAQAIAAUAAAANAA0AAQAIAAUAAAANAAwAAQAIAAUAAAAOAAwAAQAIAAUAAAANAA4AAQAIAAUAAAANAA8AAQAIAAUAAAANABAAAQAIAAUAAAAMABAAAQAIAAUAAAAMAA8AAQAIAAUAAAAMAA4AAQAIAAUAAAAMAA0AAQAIAAUAAAAMAAwAAQAIAAUAAAD6/wsAAQAIAAUAAAD5/wsAAQAIAAUAAAD4/wsAAQAIAAUAAAD4/woAAQAIAAUAAAD5/woAAQAIAAUAAAD6/woAAQAIAAUAAAD6/wkAAQAIAAUAAAD5/wkAAQAIAAUAAAD4/wkAAQAIAAUAAAD4/wgAAQAIAAUAAAD5/wgAAQAIAAUAAAD6/wgAAQAIAAUAAAD6/wcAAQAIAAUAAAD5/wcAAQAIAAUAAAD4/wcAAQAIAAUAAAD4/wYAAQAIAAUAAAD5/wYAAQAIAAUAAAD6/wYAAQAIAAUAAAD6/wUAAQAIAAUAAAD5/wUAAQAIAAUAAAD4/wUAAQAIAAUAAAD4/wQAAQAIAAUAAAD5/wQAAQAIAAUAAAD6/wQAAQAIAAUAAAD6/wMAAQAIAAUAAAD5/wMAAQAIAAUAAAD4/wMAAQAIAAUAAAD4/wIAAQAIAAUAAAD4/wEAAQAIAAUAAAD5/wEAAQAIAAUAAAD6/wEAAQAIAAUAAAD5/wIAAQAIAAUAAAD6/wIAAQAIAAUAAAD6/wAAAQAIAAUAAAD5/wAAAQAIAAUAAAD4/wAAAQAIAAUAAAD4////AQAIAAUAAAD5////AQAIAAUAAAD6////AQAIAAUAAAD6//7/AQAIAAUAAAD5//7/AQAIAAUAAAD4//7/AQAIAAUAAAD3//7/AQAIAAUAAAD3//3/AQAIAAUAAAD4//3/AQAIAAUAAAD5//3/AQAIAAUAAAD6//3/AQAIAAUAAAAAAAwAAQAHAAUAAAD9/wwAAQAJAAUAAAD9/w0AAQAJAAUAAAD9/w4AAQAJAAUAAAD9/w8AAQAJAAUAAAD9/xAAAQAJAAUAAAD9/xEAAQAJAAUAAAD9/xIAAQAJAAUAAAAAAA0AAQAHAAUAAAAAAA4AAQAHAAUAAAAAAA8AAQAHAAUAAAAAABAAAQAHAAUAAAAAABEAAQAHAAUAAAAAABIAAQAHAAUAAAABAAwAAQAIAAUAAAACAAwAAQAIAAUAAAADAAwAAQAIAAUAAAAEAAwAAQAIAAUAAAAFAAwAAQAIAAUAAAAGAAwAAQAIAAUAAAAHAAwAAQAIAAUAAAAIAAwAAQAIAAUAAAAIAA0AAQAIAAUAAAAIAA4AAQAIAAUAAAAIAA8AAQAIAAUAAAAHABAAAQAIAAUAAAAHABEAAQAIAAUAAAAHABIAAQAIAAUAAAAGABIAAQAIAAUAAAAFABIAAQAIAAUAAAAEABIAAQAIAAUAAAADABIAAQAIAAUAAAACABIAAQAIAAUAAAACABEAAQAIAAUAAAABABEAAQAIAAUAAAABABIAAQAIAAUAAAABABAAAQAIAAUAAAABAA8AAQAIAAUAAAABAA4AAQAIAAUAAAABAA0AAQAIAAUAAAACAA0AAQAIAAUAAAADAA0AAQAIAAUAAAAEAA0AAQAIAAUAAAAFAA0AAQAIAAUAAAAGAA0AAQAIAAUAAAAHAA0AAQAIAAUAAAAHAA4AAQAIAAUAAAAHAA8AAQAIAAUAAAAGABAAAQAIAAUAAAAGABEAAQAIAAUAAAAFABEAAQAIAAUAAAAEABEAAQAIAAUAAAADABEAAQAIAAUAAAACABAAAQAIAAUAAAACAA8AAQAIAAUAAAACAA4AAQAIAAUAAAADAA4AAQAIAAUAAAAGAA4AAQAIAAUAAAAGAA8AAQAIAAUAAAAFABAAAQAIAAUAAAAEABAAAQAIAAUAAAADABAAAQAIAAUAAAADAA8AAQAIAAUAAAAEAA4AAQAIAAUAAAAFAA4AAQAIAAUAAAAFAA8AAQAIAAUAAAAEAA8AAQAIAAUAAAAIABEAAQAIAAUAAAAIABIAAQAIAAUAAAAIABAAAQAIAAUAAAD8/wwAAQAIAAUAAAD8/w0AAQAIAAUAAAD8/w4AAQAIAAUAAAD8/w8AAQAIAAUAAAD8/xAAAQAIAAUAAAD8/xEAAQAIAAUAAAD8/xIAAQAIAAUAAAD7/xIAAQAIAAUAAAD6/xIAAQAIAAUAAAD5/xIAAQAIAAUAAAD4/xIAAQAIAAUAAAD3/xIAAQAIAAUAAAD2/xIAAQAIAAUAAAD1/xIAAQAIAAUAAAD0/xIAAQAIAAUAAAD0/xEAAQAIAAUAAAD0/xAAAQAIAAUAAAD0/w8AAQAIAAUAAAD0/w4AAQAIAAUAAAD0/w0AAQAIAAUAAAD0/wwAAQAIAAUAAAD0/wsAAQAIAAUAAAD1/wsAAQAIAAUAAAD1/woAAQAIAAUAAAD2/woAAQAIAAUAAAD3/woAAQAIAAUAAAD6/wwAAQAIAAUAAAD6/w0AAQAIAAUAAAD6/w4AAQAIAAUAAAD7/w4AAQAIAAUAAAD7/w8AAQAIAAUAAAD7/xAAAQAIAAUAAAD7/xEAAQAIAAUAAAD7/w0AAQAIAAUAAAD7/wwAAQAIAAUAAAD6/w8AAQAIAAUAAAD6/xAAAQAIAAUAAAD6/xEAAQAIAAUAAAD5/xEAAQAIAAUAAAD4/xEAAQAIAAUAAAD3/xEAAQAIAAUAAAD2/xEAAQAIAAUAAAD1/xEAAQAIAAUAAAD1/w0AAQAIAAUAAAD1/wwAAQAIAAUAAAD2/wsAAQAIAAUAAAD3/wsAAQAIAAUAAAD4/wwAAQAIAAUAAAD5/wwAAQAIAAUAAAD5/w0AAQAIAAUAAAD5/w4AAQAIAAUAAAD5/w8AAQAIAAUAAAD5/xAAAQAIAAUAAAD4/xAAAQAIAAUAAAD3/xAAAQAIAAUAAAD2/xAAAQAIAAUAAAD1/xAAAQAIAAUAAAD1/w8AAQAIAAUAAAD1/w4AAQAIAAUAAAD2/w4AAQAIAAUAAAD2/w0AAQAIAAUAAAD3/w0AAQAIAAUAAAD3/wwAAQAIAAUAAAD4/w0AAQAIAAUAAAD4/w4AAQAIAAUAAAD4/w8AAQAIAAUAAAD3/w8AAQAIAAUAAAD2/w8AAQAIAAUAAAD3/w4AAQAIAAUAAAD2/wwAAQAIAAUAAAD0/woAAQAIAAUAAAD0/wkAAQAIAAUAAAD0/wgAAQAIAAUAAAD0/wcAAQAIAAUAAAD0/wYAAQAIAAUAAAD0/wUAAQAIAAUAAAD0/wQAAQAIAAUAAAD1/wUAAQAIAAUAAAD2/wUAAQAIAAUAAAD3/wUAAQAIAAUAAAD3/wkAAQAIAAUAAAD2/wkAAQAIAAUAAAD1/wkAAQAIAAUAAAD1/wgAAQAIAAUAAAD1/wcAAQAIAAUAAAD1/wYAAQAIAAUAAAD2/wYAAQAIAAUAAAD3/wYAAQAIAAUAAAD3/wcAAQAIAAUAAAD3/wgAAQAIAAUAAAD2/wgAAQAIAAUAAAD2/wcAAQAIAAUAAAD0/wMAAQAIAAUAAAD0/wIAAQAIAAUAAAD0/wEAAQAIAAUAAAD0/wAAAQAIAAUAAAD0////AQAIAAUAAAD0//7/AQAIAAUAAAD0//3/AQAIAAUAAAD1//3/AQAIAAUAAAD2//3/AQAIAAUAAAD2//7/AQAIAAUAAAD2////AQAIAAUAAAD1////AQAIAAUAAAD1/wAAAQAIAAUAAAD1/wEAAQAIAAUAAAD1/wIAAQAIAAUAAAD1/wMAAQAIAAUAAAD1/wQAAQAIAAUAAAD2/wQAAQAIAAUAAAD3/wQAAQAIAAUAAAD3/wMAAQAIAAUAAAD3/wIAAQAIAAUAAAD3/wEAAQAIAAUAAAD3/wAAAQAIAAUAAAD3////AQAIAAUAAAD2/wAAAQAIAAUAAAD2/wEAAQAIAAUAAAD2/wIAAQAIAAUAAAD2/wMAAQAIAAUAAAD1//7/AQAIAAUAAADz/xIAAQAIAAUAAADy/xIAAQAIAAUAAADx/xIAAQAIAAUAAADx/xEAAQAIAAUAAADx/xAAAQAIAAUAAADx/w8AAQAIAAUAAADx/w4AAQAIAAUAAADx/w0AAQAIAAUAAADx/wwAAQAIAAUAAADx/wsAAQAIAAUAAADx/woAAQAIAAUAAADx/wkAAQAIAAUAAADx/wgAAQAIAAUAAADx/wcAAQAIAAUAAADy/wYAAQAIAAUAAADy/wUAAQAIAAUAAADy/wQAAQAIAAUAAADy/wMAAQAIAAUAAADy/wIAAQAIAAUAAADx/wYAAQAIAAUAAADx/wUAAQAIAAUAAADx/wQAAQAIAAUAAADx/wMAAQAIAAUAAADx/wIAAQAIAAUAAADx/wEAAQAIAAUAAADx/wAAAQAIAAUAAADx////AQAIAAUAAADy////AQAIAAUAAADz////AQAIAAUAAADz/wAAAQAIAAUAAADy/wAAAQAIAAUAAADy/wEAAQAIAAUAAADz/wIAAQAIAAUAAADz/wEAAQAIAAUAAADz/wMAAQAIAAUAAADz/wQAAQAIAAUAAADz/wUAAQAIAAUAAADz/wYAAQAIAAUAAADz/wcAAQAIAAUAAADz/wgAAQAIAAUAAADz/wkAAQAIAAUAAADz/woAAQAIAAUAAADz/wsAAQAIAAUAAADy/wsAAQAIAAUAAADy/wwAAQAIAAUAAADy/woAAQAIAAUAAADy/wkAAQAIAAUAAADy/wgAAQAIAAUAAADy/wcAAQAIAAUAAADy/w0AAQAIAAUAAADy/w4AAQAIAAUAAADy/w8AAQAIAAUAAADy/xAAAQAIAAUAAADz/xAAAQAIAAUAAADz/xEAAQAIAAUAAADz/w8AAQAIAAUAAADz/w4AAQAIAAUAAADz/w0AAQAIAAUAAADz/wwAAQAIAAUAAADy/xEAAQAIAAUAAAA=")
diff --git a/room_test3.tscn b/room_test3.tscn
index 21c1a81..cf28cea 100644
--- a/room_test3.tscn
+++ b/room_test3.tscn
@@ -441,7 +441,6 @@ sources/1 = SubResource("TileSetAtlasSource_0e48y")
[node name="RoomTest3" type="Node2D"]
process_mode = 1
-metadata/_custom_type_script = "uid://cbhily4o7e2r3"
[node name="TileMapLayer" type="TileMapLayer" parent="."]
tile_map_data = PackedByteArray("AAACAAYAAQAIAAQAAAADAAYAAQAIAAQAAAAEAAYAAQAIAAQAAAAFAAYAAQAIAAUAAAAGAAYAAQAIAAUAAAAHAAYAAQAIAAUAAAAIAAYAAQAIAAQAAAACAAcAAQAIAAUAAAACAAgAAQAIAAUAAAADAAgAAQAIAAUAAAAEAAgAAQAIAAUAAAAEAAkAAQAIAAUAAAAFAAkAAQAIAAUAAAAGAAkAAQAIAAUAAAAHAAkAAQAIAAUAAAAHAAgAAQAIAAUAAAAIAAgAAQAIAAUAAAAIAAcAAQAIAAUAAAAHAAcAAQAIAAUAAAAGAAcAAQAIAAUAAAAFAAcAAQAIAAUAAAAEAAcAAQAIAAUAAAADAAcAAQAIAAUAAAAFAAgAAQAIAAUAAAAGAAgAAQAIAAUAAAAJAAUAAQAHAAUAAAAJAAQAAQAHAAUAAAAKAAQAAQAIAAUAAAALAAQAAQAIAAUAAAALAAUAAQAIAAUAAAALAAYAAQAIAAUAAAALAAcAAQAIAAUAAAAMAAgAAQAIAAUAAAANAAgAAQAIAAUAAAALAAgAAQAIAAUAAAAKAAgAAQAIAAUAAAAKAAcAAQAIAAUAAAAKAAYAAQAIAAUAAAAKAAUAAQAIAAUAAAAJAAYAAQAIAAUAAAAJAAcAAQAIAAUAAAAJAAgAAQAIAAUAAAAJAAkAAQAIAAUAAAAIAAkAAQAIAAUAAAAKAAkAAQAIAAUAAAALAAkAAQAIAAUAAAAMAAkAAQAIAAUAAAAMAAcAAQAIAAUAAAABAAUAAQAJAAUAAAABAAQAAQAJAAUAAAABAAMAAQAJAAUAAAABAAIAAQAJAAUAAAAAAAIAAQAIAAUAAAAAAAMAAQAIAAUAAAAAAAQAAQAIAAUAAAAAAAUAAQAIAAUAAAAAAAYAAQAIAAUAAAAAAAcAAQAIAAUAAAABAAYAAQAIAAUAAAABAAcAAQAIAAUAAAABAAgAAQAIAAUAAAABAAkAAQAIAAUAAAAAAAkAAQAIAAUAAAAAAAgAAQAIAAUAAAACAAkAAQAIAAUAAAADAAkAAQAIAAUAAAAOAAYAAQAAAAAAAAAOAAgAAQAAAAAAAAAPAAkAAQAAAAAAAAAKAAMAAQAIAAUAAAAKAAIAAQAIAAUAAAAHAAUAAQAJAAUAAAAEAAEAAQAJAAYAAAAEAAIAAQATAAAAAAAEAAMAAQATAAEAAAAPAAgAAQAAAAAAAAAQAAcAAQAAAAAAAAAQAAYAAQAAAAAAAAAQAAUAAQAAAAAAAAAQAAQAAQAAAAAAAAAQAAMAAQAAAAAAAAAQAAIAAQAAAAAAAAAQAAEAAQAAAAAAAAAQAAAAAQAAAAAAAAANAAkAAQAIAAUAAAAOAAkAAQAAAAAAAAAQAAkAAQAAAAAAAAAQAAgAAQAAAAAAAAARAAkAAQAAAAAAAAARAAgAAQAAAAAAAAARAAcAAQAAAAAAAAARAAYAAQAAAAAAAAARAAUAAQAAAAAAAAARAAQAAQAAAAAAAAARAAMAAQAAAAAAAAARAAIAAQAAAAAAAAARAAEAAQAAAAAAAAARAAAAAQAAAAAAAAASAAAAAQAAAAAAAAASAAEAAQAAAAAAAAASAAIAAQAAAAAAAAASAAMAAQAAAAAAAAASAAQAAQAAAAAAAAASAAUAAQAAAAAAAAASAAYAAQAAAAAAAAASAAcAAQAAAAAAAAASAAgAAQAAAAAAAAASAAkAAQAAAAAAAAASAAoAAQAAAAAAAAASAAsAAQAAAAAAAAARAAsAAQAAAAAAAAARAAoAAQAAAAAAAAAQAAoAAQAAAAAAAAAPAAoAAQAAAAAAAAAOAAoAAQAAAAAAAAANAAoAAQAIAAUAAAAMAAoAAQAIAAUAAAALAAoAAQAIAAUAAAAKAAoAAQAIAAUAAAAJAAoAAQAIAAUAAAAIAAoAAQAIAAUAAAAHAAoAAQAIAAUAAAAGAAoAAQAIAAUAAAAFAAoAAQAIAAUAAAAEAAoAAQAIAAUAAAADAAoAAQAIAAUAAAACAAoAAQAIAAUAAAABAAoAAQAIAAUAAAAAAAoAAQAIAAUAAAAAAAsAAQAIAAUAAAABAAsAAQAIAAUAAAACAAsAAQAIAAUAAAADAAsAAQAIAAUAAAAEAAsAAQAIAAUAAAAFAAsAAQAIAAUAAAAGAAsAAQAIAAUAAAAHAAsAAQAIAAUAAAAIAAsAAQAIAAUAAAAJAAsAAQAIAAUAAAAKAAsAAQAIAAUAAAALAAsAAQAIAAUAAAAMAAsAAQAIAAUAAAANAAsAAQAAAAAAAAAOAAsAAQAAAAAAAAAPAAsAAQAAAAAAAAAQAAsAAQAAAAAAAAAAAAEAAQAIAAUAAAAAAAAAAQAIAAUAAAAAAP//AQAIAAUAAAAAAP7/AQAIAAUAAAD///7/AQAIAAUAAAD/////AQAIAAUAAAD//wAAAQAIAAUAAAD//wEAAQAIAAUAAAD//wIAAQAIAAUAAAD//wMAAQAIAAUAAAD//wQAAQAIAAUAAAD//wUAAQAIAAUAAAD//wYAAQAIAAUAAAD//wcAAQAIAAUAAAD//wgAAQAIAAUAAAD+/wgAAQAIAAUAAAD+/wcAAQAIAAUAAAD+/wYAAQAIAAUAAAD+/wUAAQAIAAUAAAD+/wQAAQAIAAUAAAD+/wMAAQAIAAUAAAD+/wIAAQAIAAUAAAD+/wEAAQAIAAUAAAD+/wAAAQAIAAUAAAD+////AQAIAAUAAAD+/wkAAQAIAAUAAAD//wkAAQAIAAUAAAD//woAAQAIAAUAAAD//wsAAQAIAAUAAAD+/wsAAQAIAAUAAAD+/woAAQAIAAUAAAABAAEAAQAIAAUAAAABAAAAAQAIAAUAAAABAP//AQAIAAUAAAABAP7/AQAIAAUAAAABAP3/AQAIAAUAAAAQAP//AQAAAAAAAAAQAP7/AQAAAAAAAAAQAP3/AQAAAAAAAAARAP//AQAAAAAAAAAPAAcAAQAAAAAAAAAQAPz/AQAAAAAAAAARAP7/AQAAAAAAAAAUAAcAAQAAAAAAAAAUAAYAAQAAAAAAAAAUAAUAAQAAAAAAAAAUAAQAAQAAAAAAAAAUAAMAAQAAAAAAAAAUAAEAAQAAAAAAAAAUAAIAAQAAAAAAAAATAAgAAQAAAAAAAAATAAkAAQAAAAAAAAATAAoAAQAAAAAAAAATAAsAAQAAAAAAAAAUAAsAAQAAAAAAAAAUAAoAAQAAAAAAAAAUAAkAAQAAAAAAAAAUAAgAAQAAAAAAAAAVAAkAAQAAAAAAAAAVAAoAAQAAAAAAAAAVAAsAAQAAAAAAAAAVAAgAAQAAAAAAAAAVAAcAAQAAAAAAAAAVAAYAAQAAAAAAAAAVAAUAAQAAAAAAAAAVAAQAAQAAAAAAAAAVAAMAAQAAAAAAAAAVAAIAAQAAAAAAAAAWAAQAAQAAAAAAAAAXAAUAAQAAAAAAAAAYAAYAAQAAAAAAAAAWAAUAAQAAAAAAAAAWAAYAAQAAAAAAAAAXAAYAAQAAAAAAAAAXAAcAAQAAAAAAAAAWAAcAAQAAAAAAAAAWAAgAAQAAAAAAAAAXAAgAAQAAAAAAAAAWAAkAAQAAAAAAAAAWAAoAAQAAAAAAAAAWAAsAAQAAAAAAAAAXAAsAAQAAAAAAAAAXAAoAAQAAAAAAAAAXAAkAAQAAAAAAAAAYAAkAAQAAAAAAAAAYAAgAAQAAAAAAAAAYAAcAAQAAAAAAAAAYAAoAAQAAAAAAAAAYAAsAAQAAAAAAAAAZAAcAAQAAAAAAAAAaAAcAAQAAAAAAAAAbAAcAAQAAAAAAAAAcAAcAAQAAAAAAAAAdAAcAAQAAAAAAAAAeAAcAAQAAAAAAAAAfAAcAAQAAAAAAAAAgAAcAAQAAAAAAAAAhAAcAAQAAAAAAAAAhAAgAAQAAAAAAAAAhAAkAAQAAAAAAAAAhAAoAAQAAAAAAAAAgAAoAAQAAAAAAAAAgAAkAAQAAAAAAAAAgAAgAAQAAAAAAAAAfAAgAAQAAAAAAAAAfAAkAAQAAAAAAAAAeAAkAAQAAAAAAAAAdAAgAAQAAAAAAAAAcAAgAAQAAAAAAAAAbAAgAAQAAAAAAAAAaAAgAAQAAAAAAAAAZAAgAAQAAAAAAAAAeAAgAAQAAAAAAAAAeAAoAAQAAAAAAAAAdAAoAAQAAAAAAAAAcAAoAAQAAAAAAAAAbAAoAAQAAAAAAAAAbAAkAAQAAAAAAAAAaAAkAAQAAAAAAAAAZAAkAAQAAAAAAAAAcAAkAAQAAAAAAAAAdAAkAAQAAAAAAAAAaAAoAAQAAAAAAAAAZAAoAAQAAAAAAAAAZAAsAAQAAAAAAAAAaAAsAAQAAAAAAAAAbAAsAAQAAAAAAAAAcAAsAAQAAAAAAAAAdAAsAAQAAAAAAAAAeAAsAAQAAAAAAAAAfAAsAAQAAAAAAAAAgAAsAAQAAAAAAAAAfAAoAAQAAAAAAAAAhAAsAAQAAAAAAAAAAAP3/AQAIAAUAAAD///3/AQAIAAUAAAD+//3/AQAIAAUAAAD9//3/AQAIAAUAAAD8//3/AQAIAAUAAAD+//7/AQAIAAUAAAD9//7/AQAIAAUAAAD8//7/AQAIAAUAAAD7//7/AQAIAAUAAAD7//3/AQAIAAUAAAD7////AQAIAAUAAAD8////AQAIAAUAAAD9////AQAIAAUAAAD9/wAAAQAIAAUAAAD9/wEAAQAIAAUAAAD9/wIAAQAIAAUAAAD8/wIAAQAIAAUAAAD7/wEAAQAIAAUAAAD7/wAAAQAIAAUAAAD8/wAAAQAIAAUAAAD8/wEAAQAIAAUAAAD7/wIAAQAIAAUAAAD7/wMAAQAIAAUAAAD8/wMAAQAIAAUAAAD9/wMAAQAIAAUAAAD9/wQAAQAIAAUAAAD8/wQAAQAIAAUAAAD7/wQAAQAIAAUAAAD7/wUAAQAIAAUAAAD8/wUAAQAIAAUAAAD9/wUAAQAIAAUAAAD9/wYAAQAIAAUAAAD8/wYAAQAIAAUAAAD7/wYAAQAIAAUAAAD7/wcAAQAIAAUAAAD8/wcAAQAIAAUAAAD9/wcAAQAIAAUAAAD9/wgAAQAIAAUAAAD8/wgAAQAIAAUAAAD7/wgAAQAIAAUAAAD7/wkAAQAIAAUAAAD8/wkAAQAIAAUAAAD9/wkAAQAIAAUAAAD9/woAAQAIAAUAAAD8/woAAQAIAAUAAAD7/woAAQAIAAUAAAD7/wsAAQAIAAUAAAD8/wsAAQAIAAUAAAD9/wsAAQAIAAUAAAAfAAYAAQAAAAAAAAAfAAUAAQAAAAAAAAAgAAUAAQAAAAAAAAAhAAUAAQAAAAAAAAAiAAcAAQAAAAAAAAAiAAYAAQAAAAAAAAAiAAUAAQAAAAAAAAAiAAQAAQAAAAAAAAAiAAMAAQAAAAAAAAAiAAIAAQAAAAAAAAAiAAEAAQAAAAAAAAAiAAgAAQAAAAAAAAAiAAkAAQAAAAAAAAAiAAoAAQAAAAAAAAAiAAsAAQAAAAAAAAAjAAsAAQAAAAAAAAAjAAoAAQAAAAAAAAAkAAoAAQAAAAAAAAAkAAkAAQAAAAAAAAAjAAkAAQAAAAAAAAAjAAgAAQAAAAAAAAAkAAsAAQAAAAAAAAAkAAgAAQAAAAAAAAAjAAcAAQAAAAAAAAAkAAcAAQAAAAAAAAAkAAYAAQAAAAAAAAAkAAUAAQAAAAAAAAAkAAQAAQAAAAAAAAAkAAMAAQAAAAAAAAAkAAIAAQAAAAAAAAAjAAIAAQAAAAAAAAAjAAEAAQAAAAAAAAAjAAMAAQAAAAAAAAAjAAQAAQAAAAAAAAAjAAUAAQAAAAAAAAAjAAYAAQAAAAAAAAAkAAEAAQAAAAAAAAAjAAAAAQAAAAAAAAAjAP//AQAAAAAAAAAjAP7/AQAAAAAAAAAjAP3/AQAAAAAAAAAjAPz/AQAAAAAAAAAjAPv/AQAAAAAAAAAjAPr/AQAAAAAAAAAkAPr/AQAAAAAAAAAkAPv/AQAAAAAAAAAkAPz/AQAAAAAAAAAkAP3/AQAAAAAAAAAkAP7/AQAAAAAAAAAkAP//AQAAAAAAAAAkAAAAAQAAAAAAAAAhAAMAAQAAAAAAAAAhAAIAAQAAAAAAAAAiAAAAAQAAAAAAAAAYAP//AQAAAAAAAAAZAP//AQAAAAAAAAAaAP//AQAAAAAAAAAbAP//AQAAAAAAAAAcAP//AQAAAAAAAAAdAP//AQAAAAAAAAAeAP//AQAAAAAAAAAfAP//AQAAAAAAAAAgAP//AQAAAAAAAAAcAP7/AQAAAAAAAAAjAPn/AQAAAAAAAAAkAPn/AQAAAAAAAAAlAPn/AQAAAAAAAAAmAPn/AQAAAAAAAAAnAPn/AQAAAAAAAAAnAPr/AQAAAAAAAAAnAPv/AQAAAAAAAAAnAPz/AQAAAAAAAAAmAPz/AQAAAAAAAAAmAPv/AQAAAAAAAAAlAPv/AQAAAAAAAAAlAPr/AQAAAAAAAAAmAPr/AQAAAAAAAAAlAPz/AQAAAAAAAAAlAP3/AQAAAAAAAAAmAP3/AQAAAAAAAAAnAP3/AQAAAAAAAAAmAP7/AQAAAAAAAAAlAP7/AQAAAAAAAAAlAP//AQAAAAAAAAAmAP//AQAAAAAAAAAnAP//AQAAAAAAAAAnAP7/AQAAAAAAAAAnAAAAAQAAAAAAAAAmAAAAAQAAAAAAAAAlAAAAAQAAAAAAAAAlAAEAAQAAAAAAAAAmAAEAAQAAAAAAAAAmAAIAAQAAAAAAAAAnAAIAAQAAAAAAAAAnAAMAAQAAAAAAAAAnAAQAAQAAAAAAAAAnAAEAAQAAAAAAAAAnAAUAAQAAAAAAAAAnAAYAAQAAAAAAAAAnAAcAAQAAAAAAAAAnAAgAAQAAAAAAAAAnAAkAAQAAAAAAAAAmAAkAAQAAAAAAAAAmAAgAAQAAAAAAAAAlAAgAAQAAAAAAAAAlAAcAAQAAAAAAAAAlAAYAAQAAAAAAAAAlAAUAAQAAAAAAAAAlAAQAAQAAAAAAAAAlAAMAAQAAAAAAAAAmAAMAAQAAAAAAAAAlAAIAAQAAAAAAAAAmAAQAAQAAAAAAAAAmAAUAAQAAAAAAAAAmAAcAAQAAAAAAAAAmAAYAAQAAAAAAAAAlAAkAAQAAAAAAAAAlAAoAAQAAAAAAAAAlAAsAAQAAAAAAAAAmAAsAAQAAAAAAAAAnAAsAAQAAAAAAAAAnAAoAAQAAAAAAAAAmAAoAAQAAAAAAAAAYAP7/AQAAAAAAAAAYAP3/AQAAAAAAAAAYAPz/AQAAAAAAAAAYAPv/AQAAAAAAAAAYAPr/AQAAAAAAAAAYAPn/AQAAAAAAAAAYAPj/AQAAAAAAAAAYAPf/AQAAAAAAAAAbAAAAAQAAAAAAAAAbAAEAAQAAAAAAAAAbAAIAAQAAAAAAAAAbAAMAAQAAAAAAAAAdAAAAAQAAAAAAAAAdAAEAAQAAAAAAAAAaAAAAAQAAAAAAAAAnAAwAAQAAAAAAAAAnAPj/AQAAAAAAAAAnAA0AAQAAAAAAAAAnAA4AAQAAAAAAAAAnAA8AAQAAAAAAAAAkAPj/AQAAAAAAAAAkAPf/AQAAAAAAAAAmAAwAAQAAAAAAAAAlAPj/AQAAAAAAAAAlAPf/AQAAAAAAAAAkAPb/AQAAAAAAAAAkAPX/AQAAAAAAAAAkAPT/AQAAAAAAAAAlAPT/AQAAAAAAAAAlAPX/AQAAAAAAAAAlAPb/AQAAAAAAAAAmAPj/AQAAAAAAAAAmAA0AAQAAAAAAAAAmAA4AAQAAAAAAAAAlAA4AAQAAAAAAAAAlAA0AAQAAAAAAAAAlAAwAAQAAAAAAAAAiAP//AQAAAAAAAAAiAP7/AQAAAAAAAAAiAP3/AQAAAAAAAAAiAPz/AQAAAAAAAAAiAPv/AQAAAAAAAAAiAPr/AQAAAAAAAAAiAPn/AQAAAAAAAAAiAPj/AQAAAAAAAAAiAPf/AQAAAAAAAAAiAPb/AQAAAAAAAAAjAPj/AQAAAAAAAAAgAAYAAQAAAAAAAAAgAAQAAQAAAAAAAAAgAAMAAQAAAAAAAAAhAAEAAQAAAAAAAAAhAAYAAQAAAAAAAAAfAAQAAQAAAAAAAAAgAAIAAQAAAAAAAAAhAAQAAQAAAAAAAAAYAAUAAQAAAAAAAAAZAAYAAQAAAAAAAAAaAAYAAQAAAAAAAAAcAAYAAQAAAAAAAAAdAAUAAQAAAAAAAAAdAAQAAQAAAAAAAAAeAAQAAQAAAAAAAAAeAAMAAQAAAAAAAAAfAAMAAQAAAAAAAAAfAAIAAQAAAAAAAAAfAAEAAQAAAAAAAAAfAAAAAQAAAAAAAAAZAP7/AQAAAAAAAAAZAPn/AQAAAAAAAAAZAPj/AQAAAAAAAAAZAPf/AQAAAAAAAAAZAPb/AQAAAAAAAAAYAPb/AQAAAAAAAAAcAAIAAQAAAAAAAAAcAAEAAQAAAAAAAAAeAAAAAQAAAAAAAAAcAAAAAQAAAAAAAAAcAAMAAQAAAAAAAAAcAAQAAQAAAAAAAAAbAAUAAQAAAAAAAAAbAAYAAQAAAAAAAAAZAAwAAQAAAAAAAAAZAA0AAQAAAAAAAAAYAA0AAQAAAAAAAAAYAAwAAQAAAAAAAAATAAcAAQAAAAAAAAASAAwAAQAAAAAAAAATAAYAAQAAAAAAAAAQAAwAAQAAAAAAAAAQAA0AAQAAAAAAAAAQAA4AAQAAAAAAAAAQAA8AAQAAAAAAAAAQABAAAQAAAAAAAAAPAA8AAQAAAAAAAAAPAA4AAQAAAAAAAAAPAA0AAQAAAAAAAAAPAAwAAQAAAAAAAAAPAAYAAQAAAAAAAAAPAAUAAQAAAAAAAAAPAAQAAQAAAAAAAAAPAAMAAQAAAAAAAAAPAAIAAQAAAAAAAAAOAA4AAQAAAAAAAAAOAA0AAQAAAAAAAAAOAAwAAQAAAAAAAAAOAAcAAQAAAAAAAAAOAAUAAQAAAAAAAAAOAAQAAQAAAAAAAAAOAAMAAQAAAAAAAAANAAYAAQAIAAUAAAANAAUAAQAIAAUAAAANAAQAAQAIAAUAAAANAAMAAQAIAAUAAAANAAIAAQAIAAUAAAANAAEAAQAIAAUAAAANAAAAAQAIAAUAAAANAAcAAQAIAAUAAAANAAwAAQAAAAAAAAANAA0AAQAAAAAAAAANAA4AAQAAAAAAAAANAA8AAQAAAAAAAAAMAA8AAQAAAAAAAAAMABAAAQAAAAAAAAAMAA4AAQAAAAAAAAAMAA0AAQAAAAAAAAAMAAwAAQAAAAAAAAAMAAYAAQAIAAUAAAALAAMAAQAIAAUAAAALAAIAAQAIAAUAAAALAAEAAQAIAAUAAAAKAAAAAQAIAAUAAAAKAP//AQAIAAUAAAAKAAEAAQAIAAUAAAAKAAwAAQAAAAAAAAAKAA0AAQAAAAAAAAAKAA4AAQAAAAAAAAAJAAMAAQAHAAUAAAAJAAIAAQAHAAUAAAAJAAEAAQAIAAUAAAAJAAAAAQAIAAUAAAAIAP//AQAIAAUAAAAHAP//AQAHAAUAAAAGAP//AQAAAAAAAAAFAP//AQAAAAAAAAAEAP//AQAJAAUAAAADAP//AQAIAAUAAAACAP//AQAIAAUAAAACAP7/AQAIAAUAAAADAP7/AQAIAAUAAAAEAP7/AQAJAAUAAAAFAP7/AQAAAAAAAAAGAP7/AQAAAAAAAAAHAP7/AQAHAAUAAAAIAP7/AQAIAAUAAAAJAP7/AQAIAAUAAAAJAP//AQAIAAUAAAAKAP7/AQAIAAUAAAALAP7/AQAIAAUAAAALAP//AQAIAAUAAAALAAAAAQAIAAUAAAAMAAUAAQAIAAUAAAAMAAQAAQAIAAUAAAAMAAMAAQAIAAUAAAAMAAIAAQAIAAUAAAAMAAEAAQAIAAUAAAAMAAAAAQAIAAUAAAAMAP//AQAIAAUAAAAMAP7/AQAIAAUAAAAMAP3/AQAIAAUAAAALAP3/AQAIAAUAAAAKAP3/AQAIAAUAAAAJAP3/AQAIAAUAAAAIAP3/AQAIAAUAAAAHAP3/AQAHAAUAAAADAP3/AQAIAAUAAAACAP3/AQAIAAUAAAAEAP3/AQAJAAUAAAAFAP3/AQAAAAAAAAAGAP3/AQAAAAAAAAD7//z/AQAIAAUAAAD8//z/AQAIAAUAAAD9//z/AQAIAAUAAAD+//z/AQAIAAUAAAD///z/AQAIAAUAAAAAAPz/AQAIAAUAAAABAPz/AQAIAAUAAAACAPz/AQAIAAUAAAADAPz/AQAIAAUAAAAEAPz/AQAJAAUAAAAFAPz/AQAAAAAAAAAGAPz/AQAAAAAAAAAHAPz/AQAHAAUAAAAIAPz/AQAIAAUAAAAJAPz/AQAIAAUAAAAKAPz/AQAIAAUAAAALAPz/AQAIAAUAAAAMAPz/AQAIAAUAAAD6/wYAAQAIAAUAAAD5/wYAAQAIAAUAAAD4/wYAAQAIAAUAAAD3/wYAAQAIAAUAAAD2/wYAAQAIAAUAAAD1/wYAAQAIAAQAAAD0/wYAAQAIAAUAAAD6/wcAAQAIAAUAAAD5/wcAAQAIAAUAAAD4/wcAAQAIAAUAAAD3/wcAAQAIAAUAAAD2/wcAAQAIAAUAAAD1/wcAAQAIAAUAAAD1/wgAAQAIAAUAAAD0/wcAAQAIAAUAAAD0/wgAAQAIAAUAAAD0/wkAAQAIAAUAAAD0/woAAQAIAAUAAAD0/wsAAQAIAAUAAAD0/wwAAQAIAAUAAAD1/wkAAQAIAAUAAAD2/wgAAQAIAAUAAAD3/wgAAQAIAAUAAAD4/wgAAQAIAAUAAAD5/wgAAQAIAAUAAAD6/wgAAQAIAAUAAAD6/wkAAQAIAAUAAAD6/woAAQAIAAUAAAD6/wsAAQAIAAUAAAD5/wsAAQAIAAUAAAD4/wsAAQAIAAUAAAD3/wsAAQAIAAUAAAD2/wsAAQAIAAUAAAD1/wsAAQAIAAUAAAD1/woAAQAIAAUAAAD2/wkAAQAIAAUAAAD3/wkAAQAIAAUAAAD4/wkAAQAIAAUAAAD5/wkAAQAIAAUAAAD5/woAAQAIAAUAAAD4/woAAQAIAAUAAAD3/woAAQAIAAUAAAD2/woAAQAIAAUAAAD6/wIAAQAIAAUAAAD5/wIAAQAIAAUAAAD4/wIAAQAIAAUAAAD3/wIAAQAIAAUAAAD2/wIAAQAIAAUAAAD1/wIAAQAIAAUAAAD0/wIAAQAIAAUAAAD0/wEAAQAIAAUAAAD1/wEAAQAIAAUAAAD2/wEAAQAIAAUAAAD3/wEAAQAIAAUAAAD4/wEAAQAIAAUAAAD5/wEAAQAIAAUAAAD6/wEAAQAIAAUAAAD6/wAAAQAIAAUAAAD6////AQAIAAUAAAD5/wAAAQAIAAUAAAD4/wAAAQAIAAUAAAD3/wAAAQAIAAUAAAD2/wAAAQAIAAUAAAD1/wAAAQAIAAUAAAD0/wAAAQAIAAUAAAD0////AQAIAAUAAAD1////AQAIAAUAAAD2////AQAIAAUAAAD3////AQAIAAUAAAD4////AQAIAAUAAAD5////AQAIAAUAAAD6//7/AQAIAAUAAAD5//7/AQAIAAUAAAD4//7/AQAIAAUAAAD3//7/AQAIAAUAAAD2//7/AQAIAAUAAAD1//7/AQAIAAUAAAD0//7/AQAIAAUAAAD6/wMAAQAIAAUAAAD5/wMAAQAIAAUAAAD4/wMAAQAIAAUAAAD3/wMAAQAIAAUAAAD2/wMAAQAIAAUAAAD1/wMAAQAIAAUAAAD0/wMAAQAIAAUAAAD6/wUAAQAIAAUAAAD5/wUAAQAIAAUAAAD5/wQAAQAIAAUAAAD6/wQAAQAIAAUAAAD4/wQAAQAIAAUAAAD4/wUAAQAIAAUAAAD3/wQAAQAIAAUAAAD3/wUAAQAIAAUAAAD2/wUAAQAIAAUAAAD2/wQAAQAIAAUAAAACAAEAAQAIAAYAAAADAAEAAQAIAAYAAAAFAAEAAQAAAAAAAAAGAAEAAQAAAAAAAAAHAAEAAQAHAAYAAAAIAAEAAQAIAAYAAAAIAAAAAQAIAAUAAAAHAAAAAQAHAAUAAAAGAAAAAQAAAAAAAAAFAAAAAQAAAAAAAAAEAAAAAQAJAAUAAAADAAAAAQAIAAUAAAACAAAAAQAIAAUAAAAFAAQAAQAHAAQAAAAGAAQAAQAIAAQAAAAHAAQAAQAJAAQAAAAFAAUAAQAHAAUAAAAGAAUAAQAIAAUAAAD0/wQAAQAIAAUAAAD0/wUAAQAIAAUAAAD1/wQAAQAIAAUAAAD1/wUAAQAIAAUAAAADAPv/AQAIAAUAAAADAPr/AQAIAAUAAAADAPn/AQAIAAUAAAADAPj/AQAIAAUAAAADAPf/AQAIAAUAAAADAPb/AQAIAAUAAAACAPb/AQAIAAUAAAACAPf/AQAIAAUAAAACAPj/AQAIAAUAAAACAPn/AQAIAAUAAAACAPr/AQAIAAUAAAACAPv/AQAIAAUAAAABAPv/AQAIAAUAAAABAPr/AQAIAAUAAAABAPn/AQAIAAUAAAABAPj/AQAIAAUAAAABAPf/AQAIAAUAAAABAPb/AQAIAAUAAAAAAPb/AQAIAAUAAAAAAPf/AQAIAAUAAAAAAPj/AQAIAAUAAAAAAPn/AQAIAAUAAAAAAPr/AQAIAAUAAAAAAPv/AQAIAAUAAAD///v/AQAIAAUAAAD///r/AQAIAAUAAAD///n/AQAIAAUAAAD///j/AQAIAAUAAAD///f/AQAIAAUAAAD///b/AQAIAAUAAAD+//f/AQAIAAUAAAD+//j/AQAIAAUAAAD+//n/AQAIAAUAAAD+//r/AQAIAAUAAAD+//v/AQAIAAUAAAD9//v/AQAIAAUAAAD9//r/AQAIAAUAAAD9//n/AQAIAAUAAAD9//j/AQAIAAUAAAD+//b/AQAIAAUAAAD9//b/AQAIAAUAAAD9//f/AQAIAAUAAAD8//j/AQAIAAUAAAD8//f/AQAIAAUAAAD8//b/AQAIAAUAAAD8//n/AQAIAAUAAAD8//r/AQAIAAUAAAD8//v/AQAIAAUAAAAIAPv/AQAIAAUAAAAIAPr/AQAIAAUAAAAIAPn/AQAIAAUAAAAIAPj/AQAIAAUAAAAIAPf/AQAIAAUAAAAIAPb/AQAIAAUAAAAJAPb/AQAIAAUAAAAKAPb/AQAIAAUAAAALAPb/AQAIAAUAAAALAPf/AQAIAAUAAAAMAPf/AQAIAAUAAAAMAPj/AQAIAAUAAAAMAPn/AQAIAAUAAAAMAPr/AQAIAAUAAAAMAPv/AQAIAAUAAAAJAPv/AQAIAAUAAAAJAPr/AQAIAAUAAAAJAPn/AQAIAAUAAAAJAPj/AQAIAAUAAAAJAPf/AQAIAAUAAAAKAPf/AQAIAAUAAAALAPj/AQAIAAUAAAALAPn/AQAIAAUAAAALAPr/AQAIAAUAAAALAPv/AQAIAAUAAAAKAPv/AQAIAAUAAAAKAPr/AQAIAAUAAAAKAPn/AQAIAAUAAAAKAPj/AQAIAAUAAAAMAPb/AQAIAAUAAAANAPj/AQAIAAUAAAANAPb/AQAIAAUAAAANAPf/AQAIAAUAAAANAPn/AQAIAAUAAAANAPr/AQAIAAUAAAANAPv/AQAIAAUAAAANAPz/AQAIAAUAAAANAP3/AQAIAAUAAAANAP7/AQAIAAUAAAANAP//AQAIAAUAAAAHAPv/AQAHAAUAAAAHAPr/AQAHAAUAAAAHAPn/AQAHAAUAAAAHAPj/AQAHAAUAAAAHAPf/AQAHAAUAAAAHAPb/AQAHAAUAAAAEAPv/AQAJAAUAAAAEAPr/AQAJAAUAAAAEAPn/AQAJAAUAAAAEAPj/AQAJAAUAAAAEAPf/AQAJAAUAAAAEAPb/AQAJAAUAAAA=")
diff --git a/top.gd b/top.gd
index 005bca8..a4051b0 100644
--- a/top.gd
+++ b/top.gd
@@ -5,10 +5,6 @@ extends Node2D
var save_state_path = "user://save_state.cfg"
var save_state = ConfigFile.new()
-var _transition_room: Node
-var _transition_door_name: Variant # String or null
-
-# Called when the node enters the scene tree for the first time.
func _ready() -> void:
var room = initial_room.instantiate()
room.name = "ActiveRoom"
@@ -21,65 +17,16 @@ func _ready() -> void:
save_state.set_value("items", "test_item", true)
save_state.save(save_state_path)
print(OS.get_data_dir())
-
-func is_transitioning() -> bool:
- return _transition_room != null
-
-func room_transition(from_door: Door, to_room_path: String, door_name: Variant):
- # Do not transition if there is already a transition in process
- if _transition_room != null:
- #print_debug("Tried to transition to ", room_name, " but a transition was already in process")
- return
-
- if from_door:
- var player: Player = get_node("ActiveRoom").find_child("Player")
- player.set_forced_input(from_door.enter_towards)
- # Start animation
- # The animation calls _change_room at a specific time
- $TransitionCanvas/AnimationPlayer.play("room_trans_start")
-
- var room = ResourceLoader.load(to_room_path)
- _transition_room = room.instantiate()
- _transition_door_name = door_name
+func save():
+ save_state.save("user://save_state.cfg")
-func _transition_start():
- #print_debug("_transition_start")
+func replace_active_room(new_room: Node, on_changed: Callable):
var current_room = get_node("ActiveRoom")
remove_child(current_room)
current_room.queue_free()
- # If the room hasn't loaded yet, loop until it is
- while _transition_room == null:
- await get_tree().create_timer(0.1).timeout
-
- var next_room: Node = _transition_room
- next_room.name = "ActiveRoom"
- #next_room.connect("ready", _on_room_changed)
- next_room.connect("tree_entered", _on_room_changed)
- next_room.process_mode = Node.PROCESS_MODE_PAUSABLE
- add_child(next_room)
-
-func _on_room_changed():
- #print_debug("_on_room_changed")
- var room = get_node("ActiveRoom")
- var player: Player = room.find_child("Player")
- if _transition_door_name:
- var door: Door = room.find_child(_transition_door_name)
- player.position = door.position
- player.set_forced_input(door.exit_towards)
-
- $TransitionCanvas/AnimationPlayer.play("room_trans_end")
-
-func _transition_end():
- #print_debug("_transition_end")
- _transition_room = null
- _transition_door_name = null
-
- var room = get_node("ActiveRoom")
- var player: Player = room.find_child("Player")
- if player:
- player.set_forced_input(null)
-
-func save():
- save_state.save("user://save_state.cfg")
+ new_room.name = "ActiveRoom"
+ new_room.connect("tree_entered", on_changed)
+ new_room.process_mode = Node.PROCESS_MODE_PAUSABLE
+ add_child(new_room)
diff --git a/top.tscn b/top.tscn
index 92486cc..189b724 100644
--- a/top.tscn
+++ b/top.tscn
@@ -1,109 +1,15 @@
-[gd_scene load_steps=8 format=3 uid="uid://cey3jxnpmommt"]
+[gd_scene load_steps=5 format=3 uid="uid://cey3jxnpmommt"]
[ext_resource type="Script" uid="uid://dxbspy72bg0db" path="res://top.gd" id="1_on2c2"]
[ext_resource type="PackedScene" uid="uid://cjdhfl70fgt6m" path="res://room_main_menu.tscn" id="2_58ij3"]
+[ext_resource type="PackedScene" uid="uid://c2shuyjjq06p8" path="res://transition_manager.tscn" id="3_2exal"]
[ext_resource type="PackedScene" uid="uid://cseqghymhiyqo" path="res://map.tscn" id="3_58ij3"]
-[sub_resource type="Animation" id="Animation_58ij3"]
-length = 0.001
-tracks/0/type = "value"
-tracks/0/imported = false
-tracks/0/enabled = true
-tracks/0/path = NodePath(".:color")
-tracks/0/interp = 1
-tracks/0/loop_wrap = true
-tracks/0/keys = {
-"times": PackedFloat32Array(0),
-"transitions": PackedFloat32Array(1),
-"update": 0,
-"values": [Color(0, 0, 0, 0)]
-}
-
-[sub_resource type="Animation" id="Animation_edsjh"]
-resource_name = "room_trans_end"
-length = 2.0
-tracks/0/type = "value"
-tracks/0/imported = false
-tracks/0/enabled = true
-tracks/0/path = NodePath(".:color")
-tracks/0/interp = 1
-tracks/0/loop_wrap = true
-tracks/0/keys = {
-"times": PackedFloat32Array(0, 2),
-"transitions": PackedFloat32Array(1, 1),
-"update": 0,
-"values": [Color(0, 0, 0, 1), Color(0, 0, 0, 0)]
-}
-tracks/1/type = "method"
-tracks/1/imported = false
-tracks/1/enabled = true
-tracks/1/path = NodePath("../..")
-tracks/1/interp = 1
-tracks/1/loop_wrap = true
-tracks/1/keys = {
-"times": PackedFloat32Array(2),
-"transitions": PackedFloat32Array(1),
-"values": [{
-"args": [],
-"method": &"_transition_end"
-}]
-}
-
-[sub_resource type="Animation" id="Animation_2exal"]
-resource_name = "room_trans_start"
-length = 2.0
-tracks/0/type = "value"
-tracks/0/imported = false
-tracks/0/enabled = true
-tracks/0/path = NodePath(".:color")
-tracks/0/interp = 1
-tracks/0/loop_wrap = true
-tracks/0/keys = {
-"times": PackedFloat32Array(0, 2),
-"transitions": PackedFloat32Array(1, 1),
-"update": 0,
-"values": [Color(0, 0, 0, 0), Color(0, 0, 0, 1)]
-}
-tracks/1/type = "method"
-tracks/1/imported = false
-tracks/1/enabled = true
-tracks/1/path = NodePath("../..")
-tracks/1/interp = 1
-tracks/1/loop_wrap = true
-tracks/1/keys = {
-"times": PackedFloat32Array(2),
-"transitions": PackedFloat32Array(1),
-"values": [{
-"args": [],
-"method": &"_transition_start"
-}]
-}
-
-[sub_resource type="AnimationLibrary" id="AnimationLibrary_2exal"]
-_data = {
-&"RESET": SubResource("Animation_58ij3"),
-&"room_trans_end": SubResource("Animation_edsjh"),
-&"room_trans_start": SubResource("Animation_2exal")
-}
-
[node name="Top" type="Node2D"]
process_mode = 3
script = ExtResource("1_on2c2")
initial_room = ExtResource("2_58ij3")
-[node name="TransitionCanvas" type="CanvasLayer" parent="."]
-
-[node name="ColorRect" type="ColorRect" parent="TransitionCanvas"]
-offset_right = 192.0
-offset_bottom = 108.0
-mouse_filter = 2
-color = Color(0, 0, 0, 0)
-
-[node name="AnimationPlayer" type="AnimationPlayer" parent="TransitionCanvas"]
-root_node = NodePath("../ColorRect")
-libraries = {
-&"": SubResource("AnimationLibrary_2exal")
-}
-speed_scale = 3.0
+[node name="TransitionManager" parent="." instance=ExtResource("3_2exal")]
[node name="Map" parent="." instance=ExtResource("3_58ij3")]
diff --git a/transition_manager.gd b/transition_manager.gd
new file mode 100644
index 0000000..d9a4a09
--- /dev/null
+++ b/transition_manager.gd
@@ -0,0 +1,55 @@
+class_name TransitionManager
+extends CanvasLayer
+
+@onready var top: Top = get_tree().root.get_node("Top")
+
+var _transition_room: Node
+var _transition_door_name: Variant # String or null
+
+func room_transition(from_door: Door, to_room_path: String, door_name: Variant):
+ # Do not transition if there is already a transition in process
+ if _transition_room != null:
+ #print_debug("Tried to transition to ", room_name, " but a transition was already in process")
+ return
+
+ if from_door:
+ var player: Player = top.get_node("ActiveRoom").find_child("Player")
+ player.set_forced_input(from_door.enter_towards)
+
+ # Start animation
+ # The animation calls _change_room at a specific time
+ $AnimationPlayer.play("room_trans_start")
+
+ var room = ResourceLoader.load(to_room_path)
+ _transition_room = room.instantiate()
+ _transition_door_name = door_name
+
+func _transition_start():
+ #print_debug("_transition_start")
+
+ # If the room hasn't loaded yet, loop until it is
+ while _transition_room == null:
+ await get_tree().create_timer(0.1).timeout
+
+ top.replace_active_room(_transition_room, _on_room_changed)
+
+func _on_room_changed():
+ #print_debug("_on_room_changed")
+ var room = top.get_node("ActiveRoom")
+ var player: Player = room.find_child("Player")
+ if _transition_door_name:
+ var door: Door = room.find_child(_transition_door_name)
+ player.position = door.position
+ player.set_forced_input(door.exit_towards)
+
+ $AnimationPlayer.play("room_trans_end")
+
+func _transition_end():
+ #print_debug("_transition_end")
+ _transition_room = null
+ _transition_door_name = null
+
+ var room = top.get_node("ActiveRoom")
+ var player: Player = room.find_child("Player")
+ if player:
+ player.set_forced_input(null)
diff --git a/transition_manager.gd.uid b/transition_manager.gd.uid
new file mode 100644
index 0000000..aedf462
--- /dev/null
+++ b/transition_manager.gd.uid
@@ -0,0 +1 @@
+uid://kfbrnj68jtyf
diff --git a/transition_manager.tscn b/transition_manager.tscn
new file mode 100644
index 0000000..3389dd1
--- /dev/null
+++ b/transition_manager.tscn
@@ -0,0 +1,101 @@
+[gd_scene load_steps=6 format=3 uid="uid://c2shuyjjq06p8"]
+
+[ext_resource type="Script" uid="uid://kfbrnj68jtyf" path="res://transition_manager.gd" id="1_xqma1"]
+
+[sub_resource type="Animation" id="Animation_58ij3"]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath(".:color")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Color(0, 0, 0, 0)]
+}
+
+[sub_resource type="Animation" id="Animation_edsjh"]
+resource_name = "room_trans_end"
+length = 2.0
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath(".:color")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 2),
+"transitions": PackedFloat32Array(1, 1),
+"update": 0,
+"values": [Color(0, 0, 0, 1), Color(0, 0, 0, 0)]
+}
+tracks/1/type = "method"
+tracks/1/imported = false
+tracks/1/enabled = true
+tracks/1/path = NodePath("..")
+tracks/1/interp = 1
+tracks/1/loop_wrap = true
+tracks/1/keys = {
+"times": PackedFloat32Array(2),
+"transitions": PackedFloat32Array(1),
+"values": [{
+"args": [],
+"method": &"_transition_end"
+}]
+}
+
+[sub_resource type="Animation" id="Animation_2exal"]
+resource_name = "room_trans_start"
+length = 2.0
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath(".:color")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 2),
+"transitions": PackedFloat32Array(1, 1),
+"update": 0,
+"values": [Color(0, 0, 0, 0), Color(0, 0, 0, 1)]
+}
+tracks/1/type = "method"
+tracks/1/imported = false
+tracks/1/enabled = true
+tracks/1/path = NodePath("..")
+tracks/1/interp = 1
+tracks/1/loop_wrap = true
+tracks/1/keys = {
+"times": PackedFloat32Array(2),
+"transitions": PackedFloat32Array(1),
+"values": [{
+"args": [],
+"method": &"_transition_start"
+}]
+}
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_2exal"]
+_data = {
+&"RESET": SubResource("Animation_58ij3"),
+&"room_trans_end": SubResource("Animation_edsjh"),
+&"room_trans_start": SubResource("Animation_2exal")
+}
+
+[node name="TransitionManager" type="CanvasLayer"]
+script = ExtResource("1_xqma1")
+
+[node name="ColorRect" type="ColorRect" parent="."]
+offset_right = 192.0
+offset_bottom = 108.0
+mouse_filter = 2
+color = Color(0, 0, 0, 0)
+
+[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
+root_node = NodePath("../ColorRect")
+libraries = {
+&"": SubResource("AnimationLibrary_2exal")
+}
+speed_scale = 3.0