diff options
| -rw-r--r-- | docs/index.html | 2 | ||||
| -rw-r--r-- | docs/index.pck | bin | 1986020 -> 1992876 bytes | |||
| -rw-r--r-- | docs/index.service.worker.js | 2 | ||||
| -rw-r--r-- | door.gd | 39 | ||||
| -rw-r--r-- | esc_listener.gd | 2 | ||||
| -rw-r--r-- | game_camera.gd | 6 | ||||
| -rw-r--r-- | game_camera.tscn | 1 | ||||
| -rw-r--r-- | map.tscn | 3 | ||||
| -rw-r--r-- | map_room.tscn | 7 | ||||
| -rw-r--r-- | player.gd | 36 | ||||
| -rw-r--r-- | player.tscn | 6 | ||||
| -rw-r--r-- | room.gd | 2 | ||||
| -rw-r--r-- | room.gd.uid | 1 | ||||
| -rw-r--r-- | room_main_menu.gd | 2 | ||||
| -rw-r--r-- | room_test1.tscn | 31 | ||||
| -rw-r--r-- | room_test2.tscn | 29 | ||||
| -rw-r--r-- | top.gd | 33 | ||||
| -rw-r--r-- | top.tscn | 22 |
18 files changed, 149 insertions, 75 deletions
diff --git a/docs/index.html b/docs/index.html index 527bda1..319ab4b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -112,7 +112,7 @@ body { <script src="index.js"></script> <script> -const GODOT_CONFIG = {"args":[],"canvasResizePolicy":2,"emscriptenPoolSize":8,"ensureCrossOriginIsolationHeaders":true,"executable":"index","experimentalVK":false,"fileSizes":{"index.pck":1986020,"index.wasm":38034280},"focusCanvas":true,"gdextensionLibs":[],"godotPoolSize":4,"serviceWorker":"index.service.worker.js"}; +const GODOT_CONFIG = {"args":[],"canvasResizePolicy":2,"emscriptenPoolSize":8,"ensureCrossOriginIsolationHeaders":true,"executable":"index","experimentalVK":false,"fileSizes":{"index.pck":1992876,"index.wasm":38034280},"focusCanvas":true,"gdextensionLibs":[],"godotPoolSize":4,"serviceWorker":"index.service.worker.js"}; const GODOT_THREADS_ENABLED = false; const engine = new Engine(GODOT_CONFIG); diff --git a/docs/index.pck b/docs/index.pck Binary files differindex 46f7f40..32cc67c 100644 --- a/docs/index.pck +++ b/docs/index.pck diff --git a/docs/index.service.worker.js b/docs/index.service.worker.js index 3f38f39..47c52b8 100644 --- a/docs/index.service.worker.js +++ b/docs/index.service.worker.js @@ -4,7 +4,7 @@ // Incrementing CACHE_VERSION will kick off the install event and force // previously cached resources to be updated from the network. /** @type {string} */ -const CACHE_VERSION = '1763570078|4706443861'; +const CACHE_VERSION = '1763672851|1701273529'; /** @type {string} */ const CACHE_PREFIX = 'MobileMetroidvan-sw-cache-'; const CACHE_NAME = CACHE_PREFIX + CACHE_VERSION; @@ -1,7 +1,40 @@ +@tool +class_name Door extends Area2D -@export var target_room: String +@export var target_room: String: + set(v): + target_room = v + update_configuration_warnings() -func _on_body_entered(_body: Node2D) -> void: +@export var target_door: String: + set(v): + target_door = v + update_configuration_warnings() + +@export_enum("LEFT", "RIGHT", "JUMP_LEFT", "JUMP_RIGHT", "DROP") var exit_towards: String +@export_enum("LEFT", "RIGHT", "JUMP", "DROP") var enter_towards: String + +func _ready(): + update_configuration_warnings() + +func _on_body_entered(player: Player) -> void: var top: Top = get_tree().root.get_node("Top") - top.transition_to_room(target_room) + if not top.is_transitioning(): + player.set_forced_input(enter_towards) + top.transition_to_room(to_room_path(target_room), target_door) + +func _get_configuration_warnings() -> PackedStringArray: + var warnings: PackedStringArray = [] + var room_path: String + if target_room: + room_path = to_room_path(target_room) + if not target_room or not ResourceLoader.exists(room_path): + warnings.append("target_room is not valid (%s does not exist)" % room_path) + if not target_door: + warnings.append("target_door is not valid") + + return warnings + +func to_room_path(room_name: String): + return "res://room_" + room_name + ".tscn" diff --git a/esc_listener.gd b/esc_listener.gd index cc25f4a..c0b276a 100644 --- a/esc_listener.gd +++ b/esc_listener.gd @@ -4,4 +4,4 @@ extends Node func _process(_delta: float) -> void: if Input.is_action_just_pressed("menu"): - top.transition_to_room("main_menu") + top.transition_to_room("res://room_main_menu.tscn", null) diff --git a/game_camera.gd b/game_camera.gd index 4348ace..a92f23c 100644 --- a/game_camera.gd +++ b/game_camera.gd @@ -3,7 +3,11 @@ extends Camera2D ## Amount to smoothly offset the camera if the parent is a Player. @export var offset_amt: Vector2 -# Called every frame. 'delta' is the elapsed time since the previous frame. +func _ready() -> void: + if not position_smoothing_enabled: + await get_tree().create_timer(0.1).timeout + position_smoothing_enabled = true + func _process(_delta: float) -> void: var parent = get_parent() if parent is Player: diff --git a/game_camera.tscn b/game_camera.tscn index cbf8aca..6f0359e 100644 --- a/game_camera.tscn +++ b/game_camera.tscn @@ -3,6 +3,5 @@ [ext_resource type="Script" uid="uid://dul8m52uio8t5" path="res://game_camera.gd" id="1_sfxhn"] [node name="GameCamera" type="Camera2D"] -position_smoothing_enabled = true position_smoothing_speed = 16.0 script = ExtResource("1_sfxhn") diff --git a/map.tscn b/map.tscn new file mode 100644 index 0000000..775ee14 --- /dev/null +++ b/map.tscn @@ -0,0 +1,3 @@ +[gd_scene format=3 uid="uid://cseqghymhiyqo"] + +[node name="Map" type="CanvasLayer"] diff --git a/map_room.tscn b/map_room.tscn new file mode 100644 index 0000000..891e634 --- /dev/null +++ b/map_room.tscn @@ -0,0 +1,7 @@ +[gd_scene format=3 uid="uid://clm2kocuhjqbb"] + +[node name="MapRoom" type="ColorRect"] +offset_left = 68.0 +offset_top = 57.0 +offset_right = 76.0 +offset_bottom = 62.0 @@ -8,6 +8,9 @@ extends CharacterBody2D @export var coyote_max: int @export var jump_held_coef: float +## float (-1.0 .. 1.0) or null +var forced_input_x: Variant + var gravity = ProjectSettings.get_setting("physics/2d/default_gravity") var prev_dir: float = 0.0 var jump_was_released: bool = true @@ -18,7 +21,7 @@ var coyote: int = 0 # Called when the node enters the scene tree for the first time. func _ready() -> void: - pass # Replace with function body. + pass func get_facing() -> int: if $AnimatedSprite2D.flip_h: @@ -41,8 +44,6 @@ func _process(_delta: float) -> void: $AnimatedSprite2D.set_animation("idle") func _physics_process(delta: float): - if not top.objects_active: return - var grav_coef = 1.0 if velocity.y < 0 and Input.is_action_pressed("jump"): grav_coef = 1.0 + (jump_held_coef * velocity.y / jump_strength) @@ -55,7 +56,7 @@ func _physics_process(delta: float): else: coyote += 1 - var can_jump = coyote < coyote_max and jump_was_released + var can_jump = coyote < coyote_max and jump_was_released and forced_input_x == null if Input.is_action_pressed("jump") and can_jump: velocity.y = -jump_strength # Force coyote time to expire to forbid double jumps @@ -66,7 +67,9 @@ func _physics_process(delta: float): jump_was_released = true var direction: float - if Input.is_action_pressed("move_left") and Input.is_action_pressed("move_right"): + if forced_input_x: + direction = forced_input_x + elif Input.is_action_pressed("move_left") and Input.is_action_pressed("move_right"): # This is a fix to the stalled movement issue # where the player stops if both x inputs are pressed at the same time. # To fix it, we store the previous direction the player was moving in, and change @@ -77,5 +80,26 @@ func _physics_process(delta: float): prev_dir = direction velocity.x = direction * speed - # Move the character + move_and_slide() + +## dir: String or null +func set_forced_input(dir: Variant): + if dir == null: + forced_input_x = null + elif dir == "LEFT": + forced_input_x = -1.0 + elif dir == "JUMP_LEFT": + velocity.y = -jump_strength + forced_input_x = -1.0 + elif dir == "RIGHT": + forced_input_x = 1.0 + elif dir == "JUMP_RIGHT": + velocity.y = -jump_strength + forced_input_x = 1.0 + elif dir == "JUMP": + velocity.y = -jump_strength + forced_input_x = 0.0 + elif dir == "DROP": + velocity.y = 0.0 + forced_input_x = 0.0 diff --git a/player.tscn b/player.tscn index 40e2720..f0e23db 100644 --- a/player.tscn +++ b/player.tscn @@ -107,9 +107,9 @@ script = ExtResource("2_onrkg") [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] position = Vector2(0, -1) sprite_frames = SubResource("SpriteFrames_rj586") -animation = &"idle" -autoplay = "idle" -frame_progress = 0.4343156 +animation = &"walk" +autoplay = "walk" +frame_progress = 0.86319524 [node name="CollisionShape2D" type="CollisionShape2D" parent="."] position = Vector2(0, 3) @@ -0,0 +1,2 @@ +class_name Room +extends Node2D diff --git a/room.gd.uid b/room.gd.uid new file mode 100644 index 0000000..bd32f85 --- /dev/null +++ b/room.gd.uid @@ -0,0 +1 @@ +uid://cbhily4o7e2r3 diff --git a/room_main_menu.gd b/room_main_menu.gd index 1edb126..cba6d69 100644 --- a/room_main_menu.gd +++ b/room_main_menu.gd @@ -7,4 +7,4 @@ func _ready() -> void: func _test_room_button_pressed(): var top: Top = get_tree().root.get_node("Top") - top.transition_to_room("test1") + top.transition_to_room("res://room_test1.tscn", null) diff --git a/room_test1.tscn b/room_test1.tscn index 4efe255..cda51a8 100644 --- a/room_test1.tscn +++ b/room_test1.tscn @@ -1,5 +1,6 @@ [gd_scene load_steps=10 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"] @@ -7,19 +8,6 @@ [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="GDScript" id="GDScript_p1rem"] -script/source = "class_name RoomTest -extends Node2D - -# Called when the node enters the scene tree for the first time. -func _ready() -> void: - pass # Replace with function body. - -# Called every frame. 'delta' is the elapsed time since the previous frame. -func _process(_delta: float) -> void: - pass -" - [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_0e48y"] texture = ExtResource("1_ubxha") 1:0/0 = 0 @@ -452,16 +440,17 @@ texture = ExtResource("1_ubxha") physics_layer_0/collision_layer = 1 sources/1 = SubResource("TileSetAtlasSource_0e48y") -[node name="RoomTest" type="Node2D"] +[node name="RoomTest1" type="Node2D"] process_mode = 1 -script = SubResource("GDScript_p1rem") +script = ExtResource("1_qglt1") +metadata/_custom_type_script = "uid://cbhily4o7e2r3" [node name="TileMapLayer" type="TileMapLayer" parent="."] -tile_map_data = PackedByteArray("AAACAAYAAQAIAAQAAAADAAYAAQAIAAQAAAAEAAYAAQAIAAQAAAAFAAYAAQAIAAQAAAAGAAYAAQAIAAQAAAAHAAYAAQAIAAQAAAAIAAYAAQAIAAQAAAACAAcAAQAIAAUAAAACAAgAAQAIAAUAAAADAAgAAQAIAAUAAAAEAAgAAQAIAAUAAAAEAAkAAQAIAAUAAAAFAAkAAQAIAAUAAAAGAAkAAQAIAAUAAAAHAAkAAQAIAAUAAAAHAAgAAQAIAAUAAAAIAAgAAQAIAAUAAAAIAAcAAQAIAAUAAAAHAAcAAQAIAAUAAAAGAAcAAQAIAAUAAAAFAAcAAQAIAAUAAAAEAAcAAQAIAAUAAAADAAcAAQAIAAUAAAAFAAgAAQAIAAUAAAAGAAgAAQAIAAUAAAAJAAUAAQAHAAUAAAAJAAQAAQAHAAQAAAAKAAQAAQAIAAQAAAALAAQAAQAJAAQAAAALAAUAAQAJAAUAAAALAAYAAQAJAAUAAAALAAcAAQAJAAUAAAAMAAgAAQAIAAQAAAANAAgAAQAIAAQAAAALAAgAAQAIAAUAAAAKAAgAAQAIAAUAAAAKAAcAAQAIAAUAAAAKAAYAAQAIAAUAAAAKAAUAAQAIAAUAAAAJAAYAAQAIAAUAAAAJAAcAAQAIAAUAAAAJAAgAAQAIAAUAAAAJAAkAAQAIAAUAAAAIAAkAAQAIAAUAAAAKAAkAAQAIAAUAAAALAAkAAQAIAAUAAAAMAAkAAQAIAAUAAAAMAAcAAQASAAEAAAABAAUAAQAJAAUAAAABAAQAAQAJAAUAAAABAAMAAQAJAAUAAAABAAIAAQAJAAUAAAAAAAIAAQAIAAUAAAAAAAMAAQAIAAUAAAAAAAQAAQAIAAUAAAAAAAUAAQAIAAUAAAAAAAYAAQAIAAUAAAAAAAcAAQAIAAUAAAABAAYAAQAIAAUAAAABAAcAAQAIAAUAAAABAAgAAQAIAAUAAAABAAkAAQAIAAUAAAAAAAkAAQAIAAUAAAAAAAgAAQAIAAUAAAACAAkAAQAIAAUAAAADAAkAAQAIAAUAAAAOAAYAAQALAAMAAAAOAAgAAQAIAAQAAAAPAAkAAQAIAAUAAAAKAAMAAQAOAAEAAAAKAAIAAQAOAAAAAAAHAAUAAQASAAAAAAAEAAEAAQALAAMAAAAEAAIAAQATAAAAAAAEAAMAAQATAAEAAAAPAAgAAQAIAAQAAAAQAAcAAQAAAAAAAAAQAAYAAQATAAEAAAAQAAUAAQAHAAYAAAAQAAQAAQAHAAQAAAAQAAMAAQAAAAAAAAAQAAIAAQAAAAAAAAAQAAEAAQAAAAAAAAAQAAAAAQAAAAAAAAANAAkAAQAIAAUAAAAOAAkAAQAIAAUAAAAQAAkAAQAIAAUAAAAQAAgAAQAIAAQAAAARAAkAAQAIAAUAAAARAAgAAQAIAAQAAAARAAcAAQAAAAAAAAARAAYAAQAAAAAAAAARAAUAAQAJAAYAAAARAAQAAQAJAAQAAAARAAMAAQANAAIAAAARAAIAAQAAAAAAAAARAAEAAQAAAAAAAAARAAAAAQAAAAAAAAASAAAAAQAAAAAAAAASAAEAAQAAAAAAAAASAAIAAQAAAAAAAAASAAMAAQAAAAAAAAASAAQAAQAAAAAAAAASAAUAAQAAAAAAAAASAAYAAQAAAAAAAAASAAcAAQAAAAAAAAASAAgAAQAIAAQAAAASAAkAAQAIAAUAAAASAAoAAQAIAAUAAAASAAsAAQAIAAUAAAARAAsAAQAIAAUAAAARAAoAAQAIAAUAAAAQAAoAAQAIAAUAAAAPAAoAAQAIAAUAAAAOAAoAAQAIAAUAAAANAAoAAQAIAAUAAAAMAAoAAQAIAAUAAAALAAoAAQAIAAUAAAAKAAoAAQAIAAUAAAAJAAoAAQAIAAUAAAAIAAoAAQAIAAUAAAAHAAoAAQAIAAUAAAAGAAoAAQAIAAUAAAAFAAoAAQAIAAUAAAAEAAoAAQAIAAUAAAADAAoAAQAIAAUAAAACAAoAAQAIAAUAAAABAAoAAQAIAAUAAAAAAAoAAQAIAAUAAAAAAAsAAQAIAAUAAAABAAsAAQAIAAUAAAACAAsAAQAIAAUAAAADAAsAAQAIAAUAAAAEAAsAAQAIAAUAAAAFAAsAAQAIAAUAAAAGAAsAAQAIAAUAAAAHAAsAAQAIAAUAAAAIAAsAAQAIAAUAAAAJAAsAAQAIAAUAAAAKAAsAAQAIAAUAAAALAAsAAQAIAAUAAAAMAAsAAQAIAAUAAAANAAsAAQAIAAUAAAAOAAsAAQAIAAUAAAAPAAsAAQAIAAUAAAAQAAsAAQAIAAUAAAAAAAEAAQAIAAUAAAAAAAAAAQAIAAUAAAAAAP//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+/woAAQAIAAUAAAABAAEAAQAJAAUAAAABAAAAAQAJAAUAAAABAP//AQAJAAUAAAABAP7/AQAJAAUAAAABAP3/AQAJAAUAAAAQAP//AQAAAAAAAAAQAP7/AQAAAAAAAAAQAP3/AQAAAAAAAAARAP//AQAAAAAAAAAPAAcAAQASAAEAAAAQAPz/AQAAAAAAAAARAP7/AQAAAAAAAAAUAAcAAQAAAAAAAAAUAAYAAQAAAAAAAAAUAAUAAQAIAAYAAAAUAAQAAQAHAAUAAAAUAAMAAQAHAAUAAAAUAAEAAQAAAAAAAAAUAAIAAQAHAAQAAAATAAgAAQAIAAQAAAATAAkAAQAIAAUAAAATAAoAAQAIAAUAAAATAAsAAQAIAAUAAAAUAAsAAQAIAAUAAAAUAAoAAQAIAAUAAAAUAAkAAQAIAAUAAAAUAAgAAQAIAAQAAAAVAAkAAQAIAAUAAAAVAAoAAQAIAAUAAAAVAAsAAQAIAAUAAAAVAAgAAQAIAAQAAAAVAAcAAQAQAAIAAAAVAAYAAQAAAAAAAAAVAAUAAQAIAAYAAAAVAAQAAQAIAAUAAAAVAAMAAQAJAAUAAAAVAAIAAQAJAAQAAAAWAAQAAQAJAAQAAAAXAAUAAQAJAAQAAAAYAAYAAQAJAAQAAAAWAAUAAQAIAAUAAAAWAAYAAQAHAAUAAAAXAAYAAQAIAAUAAAAXAAcAAQAIAAUAAAAWAAcAAQAHAAUAAAAWAAgAAQAIAAUAAAAXAAgAAQAIAAUAAAAWAAkAAQAIAAUAAAAWAAoAAQAIAAUAAAAWAAsAAQAIAAUAAAAXAAsAAQAIAAUAAAAXAAoAAQAIAAUAAAAXAAkAAQAIAAUAAAAYAAkAAQAIAAUAAAAYAAgAAQAIAAUAAAAYAAcAAQAIAAUAAAAYAAoAAQAIAAUAAAAYAAsAAQAIAAUAAAAZAAcAAQAIAAQAAAAaAAcAAQAIAAQAAAAbAAcAAQAIAAQAAAAcAAcAAQAIAAQAAAAdAAcAAQAIAAQAAAAeAAcAAQAIAAQAAAAfAAcAAQAIAAQAAAAgAAcAAQAIAAQAAAAhAAcAAQAIAAQAAAAhAAgAAQAIAAUAAAAhAAkAAQAIAAUAAAAhAAoAAQAIAAUAAAAgAAoAAQAIAAUAAAAgAAkAAQAIAAUAAAAgAAgAAQAIAAUAAAAfAAgAAQAIAAUAAAAfAAkAAQAIAAUAAAAeAAkAAQAIAAUAAAAdAAgAAQAIAAUAAAAcAAgAAQAIAAUAAAAbAAgAAQAIAAUAAAAaAAgAAQAIAAUAAAAZAAgAAQAIAAUAAAAeAAgAAQAIAAUAAAAeAAoAAQAIAAUAAAAdAAoAAQAIAAUAAAAcAAoAAQAIAAUAAAAbAAoAAQAIAAUAAAAbAAkAAQAIAAUAAAAaAAkAAQAIAAUAAAAZAAkAAQAIAAUAAAAcAAkAAQAIAAUAAAAdAAkAAQAIAAUAAAAaAAoAAQAIAAUAAAAZAAoAAQAIAAUAAAAZAAsAAQAIAAUAAAAaAAsAAQAIAAUAAAAbAAsAAQAIAAUAAAAcAAsAAQAIAAUAAAAdAAsAAQAIAAUAAAAeAAsAAQAIAAUAAAAfAAsAAQAIAAUAAAAgAAsAAQAIAAUAAAAfAAoAAQAIAAUAAAAhAAsAAQAIAAUAAAAAAP3/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/wsAAQAIAAUAAAAfAAYAAQAHAAwAAAAfAAUAAQAHAAsAAAAgAAUAAQAIAAsAAAAhAAUAAQAIAAsAAAAiAAcAAQAIAAUAAAAiAAYAAQAHAAUAAAAiAAUAAQAHAAUAAAAiAAQAAQAHAAUAAAAiAAMAAQAHAAUAAAAiAAIAAQAHAAUAAAAiAAEAAQAHAAUAAAAiAAgAAQAIAAUAAAAiAAkAAQAIAAUAAAAiAAoAAQAIAAUAAAAiAAsAAQAIAAUAAAAjAAsAAQAIAAUAAAAjAAoAAQAIAAUAAAAkAAoAAQAIAAUAAAAkAAkAAQAIAAUAAAAjAAkAAQAIAAUAAAAjAAgAAQAIAAUAAAAkAAsAAQAIAAUAAAAkAAgAAQAIAAUAAAAjAAcAAQAIAAUAAAAkAAcAAQAIAAUAAAAkAAYAAQAIAAUAAAAkAAUAAQAIAAUAAAAkAAQAAQAIAAUAAAAkAAMAAQAIAAUAAAAkAAIAAQAIAAUAAAAjAAIAAQAIAAUAAAAjAAEAAQAIAAUAAAAjAAMAAQAIAAUAAAAjAAQAAQAIAAUAAAAjAAUAAQAIAAUAAAAjAAYAAQAIAAUAAAAkAAEAAQAIAAUAAAAjAAAAAQAIAAUAAAAjAP//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/AQAIAAUAAAAnAAAAAQAIAAUAAAAmAAAAAQAIAAUAAAAlAAAAAQAIAAUAAAAlAAEAAQAIAAUAAAAmAAEAAQAIAAUAAAAmAAIAAQAIAAUAAAAnAAIAAQAIAAUAAAAnAAMAAQAIAAUAAAAnAAQAAQAIAAUAAAAnAAEAAQAIAAUAAAAnAAUAAQAIAAUAAAAnAAYAAQAIAAUAAAAnAAcAAQAIAAUAAAAnAAgAAQAIAAUAAAAnAAkAAQAIAAUAAAAmAAkAAQAIAAUAAAAmAAgAAQAIAAUAAAAlAAgAAQAIAAUAAAAlAAcAAQAIAAUAAAAlAAYAAQAIAAUAAAAlAAUAAQAIAAUAAAAlAAQAAQAIAAUAAAAlAAMAAQAIAAUAAAAmAAMAAQAIAAUAAAAlAAIAAQAIAAUAAAAmAAQAAQAIAAUAAAAmAAUAAQAIAAUAAAAmAAcAAQAIAAUAAAAmAAYAAQAIAAUAAAAlAAkAAQAIAAUAAAAlAAoAAQAIAAUAAAAlAAsAAQAIAAUAAAAmAAsAAQAIAAUAAAAnAAsAAQAIAAUAAAAnAAoAAQAIAAUAAAAmAAoAAQAIAAUAAAAYAP7/AQAHAAwAAAAYAP3/AQAHAAwAAAAYAPz/AQAHAAwAAAAYAPv/AQAHAAwAAAAYAPr/AQAHAAwAAAAYAPn/AQAHAAwAAAAYAPj/AQAHAAwAAAAYAPf/AQAHAAwAAAAbAAAAAQATAAAAAAAbAAEAAQATAAAAAAAbAAIAAQATAAAAAAAbAAMAAQATAAEAAAAdAAAAAQATAAAAAAAdAAEAAQATAAEAAAAaAAAAAQATAAEAAAA=") +tile_map_data = PackedByteArray("AAACAAYAAQAIAAQAAAADAAYAAQAIAAQAAAAEAAYAAQAIAAQAAAAFAAYAAQAIAAQAAAAGAAYAAQAIAAQAAAAHAAYAAQAIAAQAAAAIAAYAAQAIAAQAAAACAAcAAQAIAAUAAAACAAgAAQAIAAUAAAADAAgAAQAIAAUAAAAEAAgAAQAIAAUAAAAEAAkAAQAIAAUAAAAFAAkAAQAIAAUAAAAGAAkAAQAIAAUAAAAHAAkAAQAIAAUAAAAHAAgAAQAIAAUAAAAIAAgAAQAIAAUAAAAIAAcAAQAIAAUAAAAHAAcAAQAIAAUAAAAGAAcAAQAIAAUAAAAFAAcAAQAIAAUAAAAEAAcAAQAIAAUAAAADAAcAAQAIAAUAAAAFAAgAAQAIAAUAAAAGAAgAAQAIAAUAAAAJAAUAAQAHAAUAAAAJAAQAAQAHAAQAAAAKAAQAAQAIAAQAAAALAAQAAQAJAAQAAAALAAUAAQAJAAUAAAALAAYAAQAJAAUAAAALAAcAAQAJAAUAAAAMAAgAAQAIAAQAAAANAAgAAQAIAAQAAAALAAgAAQAIAAUAAAAKAAgAAQAIAAUAAAAKAAcAAQAIAAUAAAAKAAYAAQAIAAUAAAAKAAUAAQAIAAUAAAAJAAYAAQAIAAUAAAAJAAcAAQAIAAUAAAAJAAgAAQAIAAUAAAAJAAkAAQAIAAUAAAAIAAkAAQAIAAUAAAAKAAkAAQAIAAUAAAALAAkAAQAIAAUAAAAMAAkAAQAIAAUAAAAMAAcAAQASAAEAAAABAAUAAQAJAAUAAAABAAQAAQAJAAUAAAABAAMAAQAJAAUAAAABAAIAAQAJAAUAAAAAAAIAAQAIAAUAAAAAAAMAAQAIAAUAAAAAAAQAAQAIAAUAAAAAAAUAAQAIAAUAAAAAAAYAAQAIAAUAAAAAAAcAAQAIAAUAAAABAAYAAQAIAAUAAAABAAcAAQAIAAUAAAABAAgAAQAIAAUAAAABAAkAAQAIAAUAAAAAAAkAAQAIAAUAAAAAAAgAAQAIAAUAAAACAAkAAQAIAAUAAAADAAkAAQAIAAUAAAAOAAYAAQALAAMAAAAOAAgAAQAIAAQAAAAPAAkAAQAIAAUAAAAKAAMAAQAOAAEAAAAKAAIAAQAOAAAAAAAHAAUAAQASAAAAAAAEAAEAAQALAAMAAAAEAAIAAQATAAAAAAAEAAMAAQATAAEAAAAPAAgAAQAIAAQAAAAQAAcAAQAAAAAAAAAQAAYAAQATAAEAAAAQAAUAAQAHAAYAAAAQAAQAAQAHAAQAAAAQAAMAAQAAAAAAAAAQAAIAAQAAAAAAAAAQAAEAAQAAAAAAAAAQAAAAAQAAAAAAAAANAAkAAQAIAAUAAAAOAAkAAQAIAAUAAAAQAAkAAQAIAAUAAAAQAAgAAQAIAAQAAAARAAkAAQAIAAUAAAARAAgAAQAIAAQAAAARAAcAAQAAAAAAAAARAAYAAQAAAAAAAAARAAUAAQAJAAYAAAARAAQAAQAJAAQAAAARAAMAAQANAAIAAAARAAIAAQAAAAAAAAARAAEAAQAAAAAAAAARAAAAAQAAAAAAAAASAAAAAQAAAAAAAAASAAEAAQAAAAAAAAASAAIAAQAAAAAAAAASAAMAAQAAAAAAAAASAAQAAQAAAAAAAAASAAUAAQAAAAAAAAASAAYAAQAAAAAAAAASAAcAAQAAAAAAAAASAAgAAQAJAAQAAAASAAkAAQAIAAUAAAASAAoAAQAIAAUAAAASAAsAAQAIAAUAAAARAAsAAQAIAAUAAAARAAoAAQAIAAUAAAAQAAoAAQAIAAUAAAAPAAoAAQAIAAUAAAAOAAoAAQAIAAUAAAANAAoAAQAIAAUAAAAMAAoAAQAIAAUAAAALAAoAAQAIAAUAAAAKAAoAAQAIAAUAAAAJAAoAAQAIAAUAAAAIAAoAAQAIAAUAAAAHAAoAAQAIAAUAAAAGAAoAAQAIAAUAAAAFAAoAAQAIAAUAAAAEAAoAAQAIAAUAAAADAAoAAQAIAAUAAAACAAoAAQAIAAUAAAABAAoAAQAIAAUAAAAAAAoAAQAIAAUAAAAAAAsAAQAIAAUAAAABAAsAAQAIAAUAAAACAAsAAQAIAAUAAAADAAsAAQAIAAUAAAAEAAsAAQAIAAUAAAAFAAsAAQAIAAUAAAAGAAsAAQAIAAUAAAAHAAsAAQAIAAUAAAAIAAsAAQAIAAUAAAAJAAsAAQAIAAUAAAAKAAsAAQAIAAUAAAALAAsAAQAIAAUAAAAMAAsAAQAIAAUAAAANAAsAAQAIAAUAAAAOAAsAAQAIAAUAAAAPAAsAAQAIAAUAAAAQAAsAAQAIAAUAAAAAAAEAAQAIAAUAAAAAAAAAAQAIAAUAAAAAAP//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+/woAAQAIAAUAAAABAAEAAQAJAAUAAAABAAAAAQAJAAUAAAABAP//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/wQAAQAIAAUAAAD8/wQAAQAIAAUAAAD7/wQAAQAIAAUAAAD7/wUAAQAIAAUAAAD8/wUAAQAIAAUAAAD9/wUAAQAIAAUAAAD9/wYAAQAIAAUAAAD8/wYAAQAIAAUAAAD7/wYAAQAIAAUAAAD7/wcAAQAIAAUAAAD8/wcAAQAIAAUAAAD9/wcAAQAIAAUAAAD9/wgAAQAIAAUAAAD8/wgAAQAIAAUAAAD7/wgAAQAIAAUAAAD7/wkAAQAIAAUAAAD8/wkAAQAIAAUAAAD9/wkAAQAIAAUAAAD9/woAAQAIAAUAAAD8/woAAQAIAAUAAAD7/woAAQAIAAUAAAD7/wsAAQAIAAUAAAD8/wsAAQAIAAUAAAD9/wsAAQAIAAUAAAAfAAYAAQAHAAwAAAAfAAUAAQAHAAsAAAAgAAUAAQAIAAsAAAAhAAUAAQAIAAsAAAAiAAcAAQAIAAUAAAAiAAYAAQAHAAUAAAAiAAUAAQAHAAUAAAAiAAQAAQAHAAUAAAAiAAMAAQAHAAUAAAAiAAIAAQAHAAUAAAAiAAEAAQAHAAUAAAAiAAgAAQAIAAYAAAAiAAkAAQAAAAAAAAAiAAoAAQAAAAAAAAAiAAsAAQAIAAQAAAAjAAsAAQAIAAQAAAAjAAoAAQAAAAAAAAAkAAoAAQAAAAAAAAAkAAkAAQAAAAAAAAAjAAkAAQAAAAAAAAAjAAgAAQAIAAYAAAAkAAsAAQAIAAQAAAAkAAgAAQAIAAYAAAAjAAcAAQAIAAUAAAAkAAcAAQAIAAUAAAAkAAYAAQAIAAUAAAAkAAUAAQAIAAUAAAAkAAQAAQAIAAUAAAAkAAMAAQAIAAUAAAAkAAIAAQAIAAUAAAAjAAIAAQAIAAUAAAAjAAEAAQAIAAUAAAAjAAMAAQAIAAUAAAAjAAQAAQAIAAUAAAAjAAUAAQAIAAUAAAAjAAYAAQAIAAUAAAAkAAEAAQAIAAUAAAAjAAAAAQAIAAUAAAAjAP//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/AQAIAAUAAAA=") tile_set = SubResource("TileSet_y32ns") [node name="Player" parent="." instance=ExtResource("2_qglt1")] -position = Vector2(325, 122) +position = Vector2(87, 91) collision_layer = 2 speed = 70.0 jump_strength = 200.0 @@ -479,6 +468,10 @@ script = ExtResource("4_8b75i") [node name="TouchScreenUI" parent="." instance=ExtResource("5_r17u5")] -[node name="Door" parent="." instance=ExtResource("6_lfjh7")] -position = Vector2(344, 121) +[node name="DoorMiddle" parent="." instance=ExtResource("6_lfjh7")] +position = Vector2(430, 170) +scale = Vector2(1, 4) target_room = "test2" +target_door = "DoorLeft" +exit_towards = "LEFT" +enter_towards = "RIGHT" diff --git a/room_test2.tscn b/room_test2.tscn index 39c9c9d..b6bb018 100644 --- a/room_test2.tscn +++ b/room_test2.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=10 format=4 uid="uid://cm4xqhbvyndt1"] +[gd_scene load_steps=9 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"] @@ -7,19 +7,6 @@ [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="GDScript" id="GDScript_p1rem"] -script/source = "class_name RoomTest -extends Node2D - -# Called when the node enters the scene tree for the first time. -func _ready() -> void: - pass # Replace with function body. - -# Called every frame. 'delta' is the elapsed time since the previous frame. -func _process(_delta: float) -> void: - pass -" - [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_0e48y"] texture = ExtResource("1_otugw") 1:0/0 = 0 @@ -452,16 +439,15 @@ texture = ExtResource("1_otugw") physics_layer_0/collision_layer = 1 sources/1 = SubResource("TileSetAtlasSource_0e48y") -[node name="RoomTest" type="Node2D"] +[node name="RoomTest2" type="Node2D"] process_mode = 1 -script = SubResource("GDScript_p1rem") +metadata/_custom_type_script = "uid://cbhily4o7e2r3" [node name="TileMapLayer" type="TileMapLayer" parent="."] tile_map_data = PackedByteArray("AAACAAYAAQAIAAQAAAADAAYAAQAIAAQAAAAEAAYAAQAIAAQAAAAFAAYAAQAIAAQAAAAGAAYAAQAIAAQAAAAHAAYAAQAIAAQAAAAIAAYAAQAIAAQAAAACAAcAAQAIAAUAAAACAAgAAQAIAAUAAAADAAgAAQAIAAUAAAAEAAgAAQAIAAUAAAAEAAkAAQAIAAUAAAAFAAkAAQAIAAUAAAAGAAkAAQAIAAUAAAAHAAkAAQAIAAUAAAAHAAgAAQAIAAUAAAAIAAgAAQAIAAUAAAAIAAcAAQAIAAUAAAAHAAcAAQAIAAUAAAAGAAcAAQAIAAUAAAAFAAcAAQAIAAUAAAAEAAcAAQAIAAUAAAADAAcAAQAIAAUAAAAFAAgAAQAIAAUAAAAGAAgAAQAIAAUAAAAJAAUAAQAHAAUAAAAJAAQAAQAHAAUAAAAKAAQAAQAIAAUAAAALAAQAAQAIAAUAAAALAAUAAQAIAAUAAAALAAYAAQAIAAUAAAALAAcAAQAIAAUAAAAMAAgAAQAIAAUAAAANAAgAAQAAAAAAAAALAAgAAQAIAAUAAAAKAAgAAQAIAAUAAAAKAAcAAQAIAAUAAAAKAAYAAQAIAAUAAAAKAAUAAQAIAAUAAAAJAAYAAQAIAAUAAAAJAAcAAQAIAAUAAAAJAAgAAQAIAAUAAAAJAAkAAQAIAAUAAAAIAAkAAQAIAAUAAAAKAAkAAQAIAAUAAAALAAkAAQAIAAUAAAAMAAkAAQAIAAUAAAAMAAcAAQAIAAUAAAABAAUAAQAAAAAAAAABAAQAAQAAAAAAAAABAAMAAQAJAAYAAAABAAIAAQAJAAUAAAAAAAIAAQAIAAUAAAAAAAMAAQAIAAYAAAAAAAQAAQAAAAAAAAAAAAUAAQAAAAAAAAAAAAYAAQAIAAQAAAAAAAcAAQAIAAUAAAABAAYAAQAIAAQAAAABAAcAAQAIAAUAAAABAAgAAQAIAAUAAAABAAkAAQAIAAUAAAAAAAkAAQAIAAUAAAAAAAgAAQAIAAUAAAACAAkAAQAIAAUAAAADAAkAAQAIAAUAAAAOAAYAAQAAAAAAAAAOAAgAAQAAAAAAAAAPAAkAAQAAAAAAAAAKAAMAAQAIAAUAAAAKAAIAAQAIAAUAAAAHAAUAAQASAAAAAAAEAAEAAQALAAMAAAAEAAIAAQATAAAAAAAEAAMAAQATAAEAAAAPAAgAAQAAAAAAAAAQAAcAAQAAAAAAAAAQAAYAAQAAAAAAAAAQAAUAAQAAAAAAAAAQAAQAAQAAAAAAAAAQAAMAAQAAAAAAAAAQAAIAAQAAAAAAAAAQAAEAAQAAAAAAAAAQAAAAAQAAAAAAAAANAAkAAQAAAAAAAAAOAAkAAQAAAAAAAAAQAAkAAQAAAAAAAAAQAAgAAQAAAAAAAAARAAkAAQAAAAAAAAARAAgAAQAAAAAAAAARAAcAAQAAAAAAAAARAAYAAQAAAAAAAAARAAUAAQAAAAAAAAARAAQAAQAAAAAAAAARAAMAAQAAAAAAAAARAAIAAQAAAAAAAAARAAEAAQAAAAAAAAARAAAAAQAAAAAAAAASAAAAAQAAAAAAAAASAAEAAQAAAAAAAAASAAIAAQAAAAAAAAASAAMAAQAAAAAAAAASAAQAAQAAAAAAAAASAAUAAQAAAAAAAAASAAYAAQAAAAAAAAASAAcAAQAAAAAAAAASAAgAAQAAAAAAAAASAAkAAQAAAAAAAAASAAoAAQAAAAAAAAASAAsAAQAAAAAAAAARAAsAAQAAAAAAAAARAAoAAQAAAAAAAAAQAAoAAQAAAAAAAAAPAAoAAQAAAAAAAAAOAAoAAQAAAAAAAAANAAoAAQAAAAAAAAAMAAoAAQAIAAUAAAALAAoAAQAIAAUAAAAKAAoAAQAIAAUAAAAJAAoAAQAIAAUAAAAIAAoAAQAIAAUAAAAHAAoAAQAIAAUAAAAGAAoAAQAIAAUAAAAFAAoAAQAIAAUAAAAEAAoAAQAIAAUAAAADAAoAAQAIAAUAAAACAAoAAQAIAAUAAAABAAoAAQAIAAUAAAAAAAoAAQAIAAUAAAAAAAsAAQAIAAUAAAABAAsAAQAIAAUAAAACAAsAAQAIAAUAAAADAAsAAQAIAAUAAAAEAAsAAQAIAAUAAAAFAAsAAQAIAAUAAAAGAAsAAQAIAAUAAAAHAAsAAQAIAAUAAAAIAAsAAQAIAAUAAAAJAAsAAQAIAAUAAAAKAAsAAQAIAAUAAAALAAsAAQAIAAUAAAAMAAsAAQAIAAUAAAANAAsAAQAAAAAAAAAOAAsAAQAAAAAAAAAPAAsAAQAAAAAAAAAQAAsAAQAAAAAAAAAAAAEAAQAIAAUAAAAAAAAAAQAIAAUAAAAAAP//AQAIAAUAAAAAAP7/AQAIAAUAAAD///7/AQAIAAUAAAD/////AQAIAAUAAAD//wAAAQAIAAUAAAD//wEAAQAIAAUAAAD//wIAAQAIAAUAAAD//wMAAQAIAAYAAAD//wQAAQAAAAAAAAD//wUAAQAAAAAAAAD//wYAAQAIAAQAAAD//wcAAQAIAAUAAAD//wgAAQAIAAUAAAD+/wgAAQAIAAUAAAD+/wcAAQAIAAUAAAD+/wYAAQAIAAQAAAD+/wUAAQAAAAAAAAD+/wQAAQAAAAAAAAD+/wMAAQAIAAYAAAD+/wIAAQAIAAUAAAD+/wEAAQAIAAUAAAD+/wAAAQAIAAUAAAD+////AQAIAAUAAAD+/wkAAQAIAAUAAAD//wkAAQAIAAUAAAD//woAAQAIAAUAAAD//wsAAQAIAAUAAAD+/wsAAQAIAAUAAAD+/woAAQAIAAUAAAABAAEAAQAJAAUAAAABAAAAAQAJAAUAAAABAP//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/wMAAQAIAAYAAAD8/wMAAQAIAAYAAAD9/wMAAQAIAAYAAAD9/wQAAQAAAAAAAAD8/wQAAQAAAAAAAAD7/wQAAQAAAAAAAAD7/wUAAQAAAAAAAAD8/wUAAQAAAAAAAAD9/wUAAQAAAAAAAAD9/wYAAQAIAAQAAAD8/wYAAQAIAAQAAAD7/wYAAQAIAAQAAAD7/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/AQAAAAAAAAAcAAIAAQAAAAAAAAAcAAEAAQAAAAAAAAAeAAAAAQAAAAAAAAAcAAAAAQAAAAAAAAAcAAMAAQAAAAAAAAAcAAQAAQAAAAAAAAAbAAUAAQAAAAAAAAAbAAYAAQAAAAAAAAAZAAwAAQAAAAAAAAAZAA0AAQAAAAAAAAAYAA0AAQAAAAAAAAAYAAwAAQAAAAAAAAATAAcAAQAAAAAAAAASAAwAAQAAAAAAAAATAAYAAQAAAAAAAAAQAAwAAQAAAAAAAAAQAA0AAQAAAAAAAAAQAA4AAQAAAAAAAAAQAA8AAQAAAAAAAAAQABAAAQAAAAAAAAAPAA8AAQAAAAAAAAAPAA4AAQAAAAAAAAAPAA0AAQAAAAAAAAAPAAwAAQAAAAAAAAAPAAYAAQAAAAAAAAAPAAUAAQAAAAAAAAAPAAQAAQAAAAAAAAAPAAMAAQAAAAAAAAAPAAIAAQAAAAAAAAAOAA4AAQAAAAAAAAAOAA0AAQAAAAAAAAAOAAwAAQAAAAAAAAAOAAcAAQAAAAAAAAAOAAUAAQAAAAAAAAAOAAQAAQAAAAAAAAAOAAMAAQAAAAAAAAANAAYAAQAAAAAAAAANAAUAAQAAAAAAAAANAAQAAQAAAAAAAAANAAMAAQAAAAAAAAANAAIAAQAAAAAAAAANAAEAAQAAAAAAAAANAAAAAQAAAAAAAAANAAcAAQAAAAAAAAANAAwAAQAAAAAAAAANAA0AAQAAAAAAAAANAA4AAQAAAAAAAAANAA8AAQAAAAAAAAAMAA8AAQAAAAAAAAAMABAAAQAAAAAAAAAMAA4AAQAAAAAAAAAMAA0AAQAAAAAAAAAMAAwAAQAAAAAAAAAMAAYAAQAIAAUAAAALAAMAAQAIAAUAAAALAAIAAQAIAAUAAAALAAEAAQAIAAUAAAAKAAAAAQAIAAUAAAAKAP//AQAIAAUAAAAKAAEAAQAIAAUAAAAKAAwAAQAAAAAAAAAKAA0AAQAAAAAAAAAKAA4AAQAAAAAAAAAJAAMAAQAHAAUAAAAJAAIAAQAHAAUAAAAJAAEAAQAHAAUAAAAJAAAAAQAHAAUAAAAIAP//AQAIAAYAAAAHAP//AQAIAAYAAAAGAP//AQAIAAYAAAAFAP//AQAIAAYAAAAEAP//AQAIAAYAAAADAP//AQAIAAYAAAACAP//AQAIAAYAAAACAP7/AQAIAAUAAAADAP7/AQAIAAUAAAAEAP7/AQAIAAUAAAAFAP7/AQAIAAUAAAAGAP7/AQAIAAUAAAAHAP7/AQAIAAUAAAAIAP7/AQAIAAUAAAAJAP7/AQAIAAUAAAAJAP//AQAIAAUAAAAKAP7/AQAIAAUAAAALAP7/AQAIAAUAAAALAP//AQAIAAUAAAALAAAAAQAIAAUAAAAMAAUAAQAIAAUAAAAMAAQAAQAIAAUAAAAMAAMAAQAIAAUAAAAMAAIAAQAIAAUAAAAMAAEAAQAIAAUAAAAMAAAAAQAIAAUAAAAMAP//AQAIAAUAAAAMAP7/AQAIAAUAAAAMAP3/AQAIAAUAAAALAP3/AQAIAAUAAAAKAP3/AQAIAAUAAAAJAP3/AQAIAAUAAAAIAP3/AQAIAAUAAAAHAP3/AQAIAAUAAAADAP3/AQAIAAUAAAACAP3/AQAIAAUAAAAEAP3/AQAIAAUAAAAFAP3/AQAIAAUAAAAGAP3/AQAIAAUAAAD7//z/AQAIAAUAAAD8//z/AQAIAAUAAAD9//z/AQAIAAUAAAD+//z/AQAIAAUAAAD///z/AQAIAAUAAAAAAPz/AQAIAAUAAAABAPz/AQAIAAUAAAACAPz/AQAIAAUAAAADAPz/AQAIAAUAAAAEAPz/AQAIAAUAAAAFAPz/AQAIAAUAAAAGAPz/AQAIAAUAAAAHAPz/AQAIAAUAAAAIAPz/AQAIAAUAAAAJAPz/AQAIAAUAAAAKAPz/AQAIAAUAAAALAPz/AQAIAAUAAAAMAPz/AQAIAAUAAAD6/wYAAQAIAAQAAAD5/wYAAQAIAAQAAAD4/wYAAQAIAAQAAAD3/wYAAQAIAAQAAAD2/wYAAQAIAAQAAAD1/wYAAQAIAAQAAAD0/wYAAQAIAAQAAAD6/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/wMAAQAIAAYAAAD5/wMAAQAIAAYAAAD4/wMAAQAIAAYAAAD3/wMAAQAIAAYAAAD2/wMAAQAIAAYAAAD1/wMAAQAIAAYAAAD0/wMAAQAIAAYAAAA=") tile_set = SubResource("TileSet_y32ns") [node name="Player" parent="." instance=ExtResource("2_0kik6")] -position = Vector2(-2, 90) collision_layer = 2 speed = 70.0 jump_strength = 200.0 @@ -479,7 +465,10 @@ script = ExtResource("4_gyred") [node name="TouchScreenUI" parent="." instance=ExtResource("5_a1hvs")] -[node name="Door" parent="." instance=ExtResource("6_0kik6")] -position = Vector2(-28, 80) -scale = Vector2(2, 2) +[node name="DoorLeft" parent="." instance=ExtResource("6_0kik6")] +position = Vector2(-28, 88) +scale = Vector2(1, 4) target_room = "test1" +target_door = "DoorMiddle" +exit_towards = "RIGHT" +enter_towards = "LEFT" @@ -5,10 +5,8 @@ extends Node2D var save_state_path = "user://save_state.cfg" var save_state = ConfigFile.new() -## Should objects like the Player react to input, and enemies move -var objects_active = true - 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: @@ -23,20 +21,23 @@ 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 transition_to_room(room_name: String): +func transition_to_room(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") + #print_debug("Tried to transition to ", room_name, " but a transition was already in process") return # Start animation # The animation calls _change_room at a specific time $TransitionCanvas/AnimationPlayer.play("room_trans_start") - objects_active = false - var room = ResourceLoader.load("res://room_" + room_name + ".tscn") + var room = ResourceLoader.load(room_path) _transition_room = room.instantiate() + _transition_door_name = door_name func _transition_start(): print_debug("_transition_start") @@ -50,17 +51,31 @@ func _transition_start(): var next_room: Node = _transition_room next_room.name = "active_room" - next_room.connect("ready", _on_room_changed) + #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("active_room") + 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") - objects_active = true _transition_room = null + _transition_door_name = null + + var room = get_node("active_room") + var player: Player = room.find_child("Player") + if player: + player.set_forced_input(null) func save(): save_state.save("user://save_state.cfg") @@ -1,7 +1,8 @@ -[gd_scene load_steps=7 format=3 uid="uid://cey3jxnpmommt"] +[gd_scene load_steps=8 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://cseqghymhiyqo" path="res://map.tscn" id="3_58ij3"] [sub_resource type="Animation" id="Animation_58ij3"] length = 0.001 @@ -18,8 +19,8 @@ tracks/0/keys = { "values": [Color(0, 0, 0, 0)] } -[sub_resource type="Animation" id="Animation_2exal"] -resource_name = "room_trans_start" +[sub_resource type="Animation" id="Animation_edsjh"] +resource_name = "room_trans_end" length = 2.0 tracks/0/type = "value" tracks/0/imported = false @@ -31,7 +32,7 @@ tracks/0/keys = { "times": PackedFloat32Array(0, 2), "transitions": PackedFloat32Array(1, 1), "update": 0, -"values": [Color(0, 0, 0, 0), Color(0, 0, 0, 1)] +"values": [Color(0, 0, 0, 1), Color(0, 0, 0, 0)] } tracks/1/type = "method" tracks/1/imported = false @@ -44,12 +45,12 @@ tracks/1/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"_transition_start" +"method": &"_transition_end" }] } -[sub_resource type="Animation" id="Animation_edsjh"] -resource_name = "room_trans_end" +[sub_resource type="Animation" id="Animation_2exal"] +resource_name = "room_trans_start" length = 2.0 tracks/0/type = "value" tracks/0/imported = false @@ -61,7 +62,7 @@ tracks/0/keys = { "times": PackedFloat32Array(0, 2), "transitions": PackedFloat32Array(1, 1), "update": 0, -"values": [Color(0, 0, 0, 1), Color(0, 0, 0, 0)] +"values": [Color(0, 0, 0, 0), Color(0, 0, 0, 1)] } tracks/1/type = "method" tracks/1/imported = false @@ -74,7 +75,7 @@ tracks/1/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"_transition_end" +"method": &"_transition_start" }] } @@ -95,6 +96,7 @@ initial_room = ExtResource("2_58ij3") [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"] @@ -103,3 +105,5 @@ libraries = { &"": SubResource("AnimationLibrary_2exal") } speed_scale = 3.0 + +[node name="Map" parent="." instance=ExtResource("3_58ij3")] |
