diff --git a/NOTENGINE/all.png b/NOTENGINE/all.png index 8f934a7..63c14a7 100644 Binary files a/NOTENGINE/all.png and b/NOTENGINE/all.png differ diff --git a/_asset/all.png b/_asset/all.png index 8f934a7..63c14a7 100644 Binary files a/_asset/all.png and b/_asset/all.png differ diff --git a/_asset/icon/player_respawn_icon.svg b/_asset/icon/player_respawn_icon.svg new file mode 100644 index 0000000..8da465e --- /dev/null +++ b/_asset/icon/player_respawn_icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_asset/icon/player_respawn_icon.svg.import b/_asset/icon/player_respawn_icon.svg.import new file mode 100644 index 0000000..a9f71e1 --- /dev/null +++ b/_asset/icon/player_respawn_icon.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2e0o5lq5u7qj" +path="res://.godot/imported/player_respawn_icon.svg-8dcd220294d780ad8ee9d929e5c13a68.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://_asset/icon/player_respawn_icon.svg" +dest_files=["res://.godot/imported/player_respawn_icon.svg-8dcd220294d780ad8ee9d929e5c13a68.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/_game/GameMain.tscn b/_game/GameMain.tscn index c7a485e..df22456 100644 --- a/_game/GameMain.tscn +++ b/_game/GameMain.tscn @@ -1,22 +1,16 @@ -[gd_scene load_steps=8 format=3 uid="uid://3vc8ojbiyy5w"] +[gd_scene load_steps=7 format=3 uid="uid://3vc8ojbiyy5w"] [ext_resource type="Script" uid="uid://crgac4manhoud" path="res://_game/game.gd" id="1_yksyv"] [ext_resource type="PackedScene" uid="uid://cvqehvdjpoar4" path="res://_player/player_controller.tscn" id="2_x2i0j"] -[ext_resource type="PackedScene" uid="uid://gwhff4qaouxy" path="res://_player/Avatar.tscn" id="3_4ifj7"] [ext_resource type="PackedScene" uid="uid://cd88ydqhdo28" path="res://_scene/level1/l1_s1.tscn" id="4_m1t3p"] [ext_resource type="PackedScene" uid="uid://djs1eg5y008cs" path="res://_scene/level1/l1_s2.tscn" id="5_5s0xe"] [ext_resource type="PackedScene" uid="uid://dh43kt0l28qd5" path="res://_scene/level1/l1_s3.tscn" id="6_ktxjv"] [ext_resource type="PackedScene" uid="uid://br46ftt4v3bwm" path="res://_scene/level1/l1_s4_Es.tscn" id="7_x2i0j"] -[node name="Game" type="Node2D"] +[node name="Game" type="Node2D" groups=["PLAYER_RESPAWN"]] script = ExtResource("1_yksyv") -[node name="PlayerController" parent="." node_paths=PackedStringArray("auto_controlled_avatar") instance=ExtResource("2_x2i0j")] -auto_controlled_avatar = NodePath("../Avatar") - -[node name="Avatar" parent="." instance=ExtResource("3_4ifj7")] -position = Vector2(1642, -548) -collision_mask = 4 +[node name="PlayerController" parent="." instance=ExtResource("2_x2i0j")] [node name="L1_S1" parent="." instance=ExtResource("4_m1t3p")] diff --git a/_game/game.gd b/_game/game.gd index 6f8858d..1848a26 100644 --- a/_game/game.gd +++ b/_game/game.gd @@ -2,3 +2,5 @@ extends Node2D func _ready() -> void: CameraSystem.register_player_camera(self) + + get_tree().call_group(&"PLAYER_RESPAWN",&"respawn_avatar") diff --git a/_player/Avatar.tscn b/_player/Avatar.tscn index 62e075a..9a0bd82 100644 --- a/_player/Avatar.tscn +++ b/_player/Avatar.tscn @@ -54,8 +54,9 @@ size = Vector2(10, 25) [node name="Avatar" type="CharacterBody2D" groups=["PLAYER"]] collision_layer = 2 -collision_mask = 0 +collision_mask = 36 floor_snap_length = 4.0 +platform_floor_layers = 4 platform_wall_layers = 4 script = ExtResource("1_rkqpu") diff --git a/_player/avatar.gd b/_player/avatar.gd index a516d18..26723f0 100644 --- a/_player/avatar.gd +++ b/_player/avatar.gd @@ -26,7 +26,7 @@ var is_dead: bool = false: is_dead = value if is_dead: locomotion_comp.is_active = false - GlobalEvent.boradcast_player_dead_event() + GlobalEvent.boradcast_player_dead_event(self) player_dead.emit() signal player_direction_changed(direction: Direction) @@ -42,6 +42,9 @@ signal v_jump_dust ##跳跃声音特效 signal s_jump_sound +func _enter_tree() -> void: + GlobalEvent.register_player(self) + func _ready() -> void: self.player_direction_changed.connect(_handle_direction_changed) self.hit_box.area_entered.connect(_handle_hit_box_entered) diff --git a/_player/player_controller.gd b/_player/player_controller.gd index 4a4c8d3..78f636c 100644 --- a/_player/player_controller.gd +++ b/_player/player_controller.gd @@ -8,6 +8,9 @@ var _controlled_avatar: Player ## 当前输入状态 var move_input: Vector2 = Vector2.ZERO +func _enter_tree() -> void: + GlobalEvent.register_player_controller(self) + func _ready() -> void: if auto_controlled_avatar: bind_avatar(auto_controlled_avatar) @@ -18,8 +21,6 @@ func bind_avatar(p_avatar: Player) -> void: ##解绑avatar func unbind_avatar() -> void: - if not _controlled_avatar: return - _controlled_avatar = null ##解绑avatar diff --git a/_props/_prefabs/player/player_respawn_point.gd b/_props/_prefabs/player/player_respawn_point.gd new file mode 100644 index 0000000..af1faa2 --- /dev/null +++ b/_props/_prefabs/player/player_respawn_point.gd @@ -0,0 +1,104 @@ +@tool +@icon("uid://2e0o5lq5u7qj") +class_name PlayerRespawnPoint +extends Node2D + +var _can_respawn: bool = false +const avatar_scene := preload("res://_player/Avatar.tscn") + +func _ready() -> void: + if not Engine.is_editor_hint(): + + GlobalEvent.player_dead.connect(_on_player_dead) + +func _on_player_dead(player: Player) -> void: + call_deferred(&"respawn_avatar") + +func _process(delta: float) -> void: + queue_redraw() + +func _draw() -> void: + # 只在编辑器绘制 + if not Engine.is_editor_hint(): + return + + var color := Color(0.2, 0.9, 0.4, 0.8) + var line_width := 2.0 + + # 尺寸参数(都可以微调) + var outer_radius := 16.0 + var inner_gap := 6.0 + var line_length := 10.0 + var center_radius := 3.0 + + var center := Vector2.ZERO + + # —— 外圈圆环 —— + draw_arc( + center, + outer_radius, + 0.0, + TAU, + 48, # 分段数,越大越圆 + color, + line_width + ) + + # —— 准星十字 —— + # 上 + draw_line( + center + Vector2(0, -inner_gap), + center + Vector2(0, -inner_gap - line_length), + color, + line_width + ) + # 下 + draw_line( + center + Vector2(0, inner_gap), + center + Vector2(0, inner_gap + line_length), + color, + line_width + ) + # 左 + draw_line( + center + Vector2(-inner_gap, 0), + center + Vector2(-inner_gap - line_length, 0), + color, + line_width + ) + # 右 + draw_line( + center + Vector2(inner_gap, 0), + center + Vector2(inner_gap + line_length, 0), + color, + line_width + ) + + # —— 中心圆点 —— + draw_circle(center, center_radius, color) + + +func push_respawner() -> void: + _can_respawn = true + +func pop_respawner() -> void: + _can_respawn = false + +func respawn_avatar() -> CharacterBody2D: + if not _can_respawn: return null + + if not avatar_scene: + return null + + var new_avatar : Player = avatar_scene.instantiate() + var pc : PlayerController = GlobalEvent.get_player_controller() + if not pc or not new_avatar: + return null + + pc.unbind_avatar() + pc.bind_avatar(new_avatar) + + new_avatar.position = self.global_position + get_tree().current_scene.add_child(new_avatar) + + return new_avatar diff --git a/_props/_prefabs/player/player_respawn_point.gd.uid b/_props/_prefabs/player/player_respawn_point.gd.uid new file mode 100644 index 0000000..5cab8e3 --- /dev/null +++ b/_props/_prefabs/player/player_respawn_point.gd.uid @@ -0,0 +1 @@ +uid://dybx7a7eirfg8 diff --git a/_props/_prefabs/player/player_respawn_point.tscn b/_props/_prefabs/player/player_respawn_point.tscn new file mode 100644 index 0000000..1c97a81 --- /dev/null +++ b/_props/_prefabs/player/player_respawn_point.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://cxgcmdxlbwwjh"] + +[ext_resource type="Script" uid="uid://dybx7a7eirfg8" path="res://_props/_prefabs/player/player_respawn_point.gd" id="1_x4u84"] + +[node name="PlayerRespawnPoint" type="Node2D" groups=["PLAYER_RESPAWN"]] +script = ExtResource("1_x4u84") diff --git a/_scene/level1/l1_s1.tscn b/_scene/level1/l1_s1.tscn index 819d13c..515679e 100644 --- a/_scene/level1/l1_s1.tscn +++ b/_scene/level1/l1_s1.tscn @@ -1,13 +1,13 @@ -[gd_scene load_steps=29 format=4 uid="uid://cd88ydqhdo28"] +[gd_scene load_steps=34 format=4 uid="uid://cd88ydqhdo28"] [ext_resource type="Script" uid="uid://5e157vdk6175" path="res://addons/reedscene/scene/ReedScene.gd" id="1_20208"] [ext_resource type="Script" uid="uid://bh066o84byplh" path="res://addons/reedscene/scene/ReedSceneID.gd" id="2_wkfms"] [ext_resource type="Script" uid="uid://dn0ksjoswquf5" path="res://addons/reedscene/scene/SceneManager.gd" id="3_rlimy"] [ext_resource type="Script" uid="uid://dsgl7lbyjsiif" path="res://addons/reedscene/act/ActManager.gd" id="4_bq6n3"] [ext_resource type="Script" uid="uid://ons77en82uls" path="res://addons/reedscene/scene/SceneTrigger.gd" id="4_wkfms"] -[ext_resource type="Resource" uid="uid://gmaitie4ys4h" path="res://_shared/QuickTriggerConfig/player_entered_act_1.tres" id="5_rlimy"] +[ext_resource type="Resource" uid="uid://gmaitie4ys4h" path="res://_shared/quick_scene_config/player_entered_act_1.tres" id="5_rlimy"] [ext_resource type="Script" uid="uid://fxpk2ot6otfh" path="res://addons/reedscene/act/Act.gd" id="5_ubvm0"] -[ext_resource type="Resource" uid="uid://cstjpy2eh8mck" path="res://_shared/QuickTriggerConfig/prop1_player_entered_act_1.tres" id="6_bq6n3"] +[ext_resource type="Resource" uid="uid://cstjpy2eh8mck" path="res://_shared/quick_scene_config/prop1_player_entered_act_1.tres" id="6_bq6n3"] [ext_resource type="Script" uid="uid://baqgorvlumyju" path="res://addons/reedscene/act/SingleAct.gd" id="6_r0e2c"] [ext_resource type="Script" uid="uid://pxjf5vst08eo" path="res://addons/reedscene/prop/PropManager.gd" id="7_hd3du"] [ext_resource type="PackedScene" uid="uid://bflwr7cryd2l0" path="res://_shared/camera/CameraAnchor.tscn" id="8_vjpkl"] @@ -21,6 +21,7 @@ [ext_resource type="Resource" uid="uid://dd4df6yjkeifa" path="res://_props/_prefabs/player/effect/player_trigger_volumn_disable.tres" id="16_8u4ru"] [ext_resource type="Resource" uid="uid://b6iglvt36pm55" path="res://_props/_prefabs/player/effect/player_trigger_volumn_enable.tres" id="17_v8v1a"] [ext_resource type="PackedScene" uid="uid://bomv75fi4uuyi" path="res://_shared/l_test.tscn" id="18_jd40h"] +[ext_resource type="PackedScene" uid="uid://cxgcmdxlbwwjh" path="res://_props/_prefabs/player/player_respawn_point.tscn" id="21_ubvm0"] [sub_resource type="Resource" id="Resource_c0430"] script = ExtResource("6_r0e2c") @@ -29,11 +30,16 @@ script = ExtResource("6_r0e2c") script = ExtResource("6_r0e2c") state_id = 1 +[sub_resource type="Resource" id="Resource_hd3du"] +script = ExtResource("6_r0e2c") +metadata/_custom_type_script = "uid://baqgorvlumyju" + [sub_resource type="Resource" id="Resource_7p20c"] script = ExtResource("5_ubvm0") prop_state_map = Dictionary[int, ExtResource("6_r0e2c")]({ 0: SubResource("Resource_c0430"), -1: SubResource("Resource_6lvvf") +1: SubResource("Resource_6lvvf"), +2: SubResource("Resource_hd3du") }) [sub_resource type="Resource" id="Resource_4ake0"] @@ -45,17 +51,37 @@ metadata/_custom_type_script = "uid://baqgorvlumyju" script = ExtResource("6_r0e2c") metadata/_custom_type_script = "uid://baqgorvlumyju" +[sub_resource type="Resource" id="Resource_vjpkl"] +script = ExtResource("6_r0e2c") +state_id = 1 +metadata/_custom_type_script = "uid://baqgorvlumyju" + [sub_resource type="Resource" id="Resource_a1vfv"] script = ExtResource("5_ubvm0") prop_state_map = Dictionary[int, ExtResource("6_r0e2c")]({ 0: SubResource("Resource_4ake0"), -1: SubResource("Resource_vb6ml") +1: SubResource("Resource_vb6ml"), +2: SubResource("Resource_vjpkl") }) metadata/_custom_type_script = "uid://fxpk2ot6otfh" [sub_resource type="RectangleShape2D" id="RectangleShape2D_knjgm"] size = Vector2(661, 379) +[sub_resource type="Resource" id="Resource_r0e2c"] +script = ExtResource("12_o2v7x") +effect_type = 1 +value = null +func_name = &"pop_respawner" +metadata/_custom_type_script = "uid://cdvgq0xqdbagk" + +[sub_resource type="Resource" id="Resource_ubvm0"] +script = ExtResource("12_o2v7x") +effect_type = 1 +value = null +func_name = &"push_respawner" +metadata/_custom_type_script = "uid://cdvgq0xqdbagk" + [node name="ReedScene" type="Node2D"] script = ExtResource("1_20208") metadata/_custom_type_script = "uid://5e157vdk6175" @@ -120,5 +146,25 @@ script = ExtResource("11_hatj6") state_id = 1 effects = Array[ExtResource("12_o2v7x")]([ExtResource("17_v8v1a")]) +[node name="PlayerRespawnPoint" parent="Props" instance=ExtResource("21_ubvm0")] +position = Vector2(-339, 96) + +[node name="[Prop_0002]" type="Node" parent="Props/PlayerRespawnPoint"] +script = ExtResource("9_ctwrc") +prop_id = 2 + +[node name="States" type="Node" parent="Props/PlayerRespawnPoint/[Prop_0002]"] +script = ExtResource("10_0u6xi") + +[node name="[ID_0] Disable" type="Node" parent="Props/PlayerRespawnPoint/[Prop_0002]/States"] +script = ExtResource("11_hatj6") +state_id = 0 +effects = Array[ExtResource("12_o2v7x")]([SubResource("Resource_r0e2c")]) + +[node name="[ID_1] Enable" type="Node" parent="Props/PlayerRespawnPoint/[Prop_0002]/States"] +script = ExtResource("11_hatj6") +state_id = 1 +effects = Array[ExtResource("12_o2v7x")]([SubResource("Resource_ubvm0")]) + [node name="TileMapLayer" parent="." groups=["GRAPABLE"] instance=ExtResource("18_jd40h")] -tile_map_data = PackedByteArray("AAAAAA0AAAAAAAAAAAABAA0AAAAAAAAAAAACAA0AAAAAAAAAAAADAA0AAAAAAAAAAAAEAA0AAAAAAAAAAAAMAA0AAAAAAAAAAAANAA0AAAAAAAAAAAAOAA0AAAAAAAAAAAAPAA0AAAAAAAAAAAAQAA0AAAAAAAAAAAARAA0AAAAAAAAAAAASAA0AAAAAAAAAAAATAA0AAAAAAAAAAAAUAA0AAAAAAAAAAAADAAsAAAABAAAAAAACAAsAAAABAAAAAAACAAwAAAAAAAAAAAADAAwAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAwAAAAAAAAAAAABAAsAAAABAAAAAAABAAwAAAAAAAAAAAAPAAoAAAAAAAAAAAAPAAsAAAAAAAAAAAAQAAoAAAAAAAAAAAAQAAsAAAAAAAAAAAATAAgAAAAAAAAAAAATAAkAAAAAAAAAAAAUAAgAAAAAAAAAAAAUAAkAAAAAAAAAAAD//wkAAAAAAAAAAAD//woAAAAAAAAAAAD//wsAAAAAAAAAAAD//wwAAAAAAAAAAAD//w0AAAAAAAAAAAD+/wkAAAAAAAAAAAD+/woAAAAAAAAAAAD+/wsAAAAAAAAAAAD+/wwAAAAAAAAAAAD+/w0AAAAAAAAAAAAQAPz/AAAAAAAAAAAQAP3/AAAAAAAAAAAQAP7/AAAAAAAAAAARAPz/AAAAAAAAAAARAP3/AAAAAAAAAAARAP7/AAAAAAAAAAARAP//AAAAAAAAAAASAPz/AAAAAAAAAAASAP3/AAAAAAAAAAASAP7/AAAAAAAAAAASAP//AAAAAAAAAAATAPz/AAAAAAAAAAATAP3/AAAAAAAAAAATAP7/AAAAAAAAAAATAP//AAAAAAAAAAAUAPz/AAAAAAAAAAAUAP3/AAAAAAAAAAAUAP7/AAAAAAAAAAAUAP//AAAAAAAAAAAPAAwAAAAAAAAAAAAQAAwAAAAAAAAAAAAOAAwAAAAAAAAAAAARAAwAAAAAAAAAAADm/wcAAAAAAAAAAADm/wgAAAAAAAAAAADm/wkAAAAAAAAAAADm/woAAAAAAAAAAADm/wsAAAAAAAAAAADn/wcAAAAAAAAAAADn/wgAAAAAAAAAAADn/wkAAAAAAAAAAADn/woAAAAAAAAAAADn/wsAAAAAAAAAAADo/wcAAAAAAAAAAADo/wgAAAAAAAAAAADo/wkAAAAAAAAAAADo/woAAAAAAAAAAADo/wsAAAAAAAAAAADp/wcAAAAAAAAAAADp/wgAAAAAAAAAAADp/wkAAAAAAAAAAADp/woAAAAAAAAAAADp/wsAAAAAAAAAAADq/wcAAAAAAAAAAADq/wgAAAAAAAAAAADq/wkAAAAAAAAAAADq/woAAAAAAAAAAADq/wsAAAAAAAAAAADr/wcAAAAAAAAAAADr/wgAAAAAAAAAAADr/wkAAAAAAAAAAADr/woAAAAAAAAAAADr/wsAAAAAAAAAAADs/wcAAAAAAAAAAADs/wgAAAAAAAAAAADs/wkAAAAAAAAAAADs/woAAAAAAAAAAADs/wsAAAAAAAAAAADt/wkAAAAAAAAAAADt/woAAAAAAAAAAADt/wsAAAAAAAAAAADu/wkAAAAAAAAAAADu/woAAAAAAAAAAADu/wsAAAAAAAAAAADv/wkAAAAAAAAAAADv/woAAAAAAAAAAADv/wsAAAAAAAAAAADw/wkAAAAAAAAAAADw/woAAAAAAAAAAADw/wsAAAAAAAAAAADx/wkAAAAAAAAAAADx/woAAAAAAAAAAADx/wsAAAAAAAAAAADy/wkAAAAAAAAAAADy/woAAAAAAAAAAADy/wsAAAAAAAAAAADz/wkAAAAAAAAAAADz/woAAAAAAAAAAADz/wsAAAAAAAAAAAD0/wkAAAAAAAAAAAD0/woAAAAAAAAAAAD0/wsAAAAAAAAAAAD1/wkAAAAAAAAAAAD1/woAAAAAAAAAAAD1/wsAAAAAAAAAAAD2/wkAAAAAAAAAAAD2/woAAAAAAAAAAAD2/wsAAAAAAAAAAAD3/wkAAAAAAAAAAAD3/woAAAAAAAAAAAD3/wsAAAAAAAAAAAD4/wkAAAAAAAAAAAD4/woAAAAAAAAAAAD4/wsAAAAAAAAAAAD5/wkAAAAAAAAAAAD5/woAAAAAAAAAAAD5/wsAAAAAAAAAAAD6/wkAAAAAAAAAAAD6/woAAAAAAAAAAAD6/wsAAAAAAAAAAAD7/wkAAAAAAAAAAAD7/woAAAAAAAAAAAD7/wsAAAAAAAAAAAD8/wkAAAAAAAAAAAD8/woAAAAAAAAAAAD8/wsAAAAAAAAAAAAMAAsAAAAAAAAAAAANAAsAAAAAAAAAAAAOAAsAAAAAAAAAAAAPAAkAAAAAAAAAAAAQAAkAAAAAAAAAAAARAAkAAAAAAAAAAAARAAoAAAAAAAAAAAARAAsAAAAAAAAAAAASAAkAAAAAAAAAAAASAAoAAAAAAAAAAAASAAsAAAAAAAAAAAATAAoAAAAAAAAAAAATAAsAAAAAAAAAAAAUAAoAAAAAAAAAAAAUAAsAAAAAAAAAAAAQAPT/AAAAAAAAAAAQAPX/AAAAAAAAAAAQAPb/AAAAAAAAAAAQAPf/AAAAAAAAAAARAPT/AAAAAAAAAAARAPX/AAAAAAAAAAARAPb/AAAAAAAAAAARAPf/AAAAAAAAAAASAPT/AAAAAAAAAAASAPX/AAAAAAAAAAASAPb/AAAAAAAAAAASAPf/AAAAAAAAAAATAPT/AAAAAAAAAAATAPX/AAAAAAAAAAATAPb/AAAAAAAAAAATAPf/AAAAAAAAAAAUAPT/AAAAAAAAAAAUAPX/AAAAAAAAAAAUAPb/AAAAAAAAAAAUAPf/AAAAAAAAAAASAPj/AAAAAAAAAAASAPn/AAAAAAAAAAASAPr/AAAAAAAAAAASAPv/AAAAAAAAAAASAAAAAAAAAAAAAAASAAEAAAAAAAAAAAASAAIAAAAAAAAAAAASAAMAAAAAAAAAAAATAPj/AAAAAAAAAAATAPn/AAAAAAAAAAATAPr/AAAAAAAAAAATAPv/AAAAAAAAAAATAAAAAAAAAAAAAAATAAEAAAAAAAAAAAATAAIAAAAAAAAAAAATAAMAAAAAAAAAAAAUAPj/AAAAAAAAAAAUAPn/AAAAAAAAAAAUAPr/AAAAAAAAAAAUAPv/AAAAAAAAAAAUAAAAAAAAAAAAAAAUAAEAAAAAAAAAAAAUAAIAAAAAAAAAAAAUAAMAAAAAAAAAAADm//v/AAAAAAAAAADm//z/AAAAAAAAAADm//3/AAAAAAAAAADm//7/AAAAAAAAAADm////AAAAAAAAAADm/wAAAAAAAAAAAADm/wEAAAAAAAAAAADm/wIAAAAAAAAAAADm/wMAAAAAAAAAAADm/wQAAAAAAAAAAADm/wUAAAAAAAAAAADm/wYAAAAAAAAAAADn//v/AAAAAAAAAADn//z/AAAAAAAAAADn//3/AAAAAAAAAADn//7/AAAAAAAAAADn////AAAAAAAAAADn/wAAAAAAAAAAAADn/wEAAAAAAAAAAADn/wIAAAAAAAAAAADn/wMAAAAAAAAAAADn/wQAAAAAAAAAAADn/wUAAAAAAAAAAADn/wYAAAAAAAAAAADo//v/AAAAAAAAAADo//z/AAAAAAAAAADo//3/AAAAAAAAAADo//7/AAAAAAAAAADo////AAAAAAAAAADo/wAAAAAAAAAAAADo/wEAAAAAAAAAAADo/wIAAAAAAAAAAADo/wMAAAAAAAAAAADo/wQAAAAAAAAAAADo/wUAAAAAAAAAAADo/wYAAAAAAAAAAADt/wgAAAABAAAAAADu/wgAAAABAAAAAADv/wgAAAABAAAAAADw/wgAAAABAAAAAADx/wgAAAABAAAAAADy/wgAAAABAAAAAADz/wgAAAABAAAAAAD0/wgAAAABAAAAAADp//v/AAAAAAAAAADp//z/AAAAAAAAAADp//3/AAAAAAAAAADq//v/AAAAAAAAAADq//z/AAAAAAAAAADq//3/AAAAAAAAAADq//7/AAAAAAAAAADp//7/AAAAAAAAAADm//P/AAAAAAAAAADm//T/AAAAAAAAAADm//X/AAAAAAAAAADm//b/AAAAAAAAAADm//f/AAAAAAAAAADm//j/AAAAAAAAAADm//n/AAAAAAAAAADm//r/AAAAAAAAAADn//P/AAAAAAAAAADn//T/AAAAAAAAAADn//X/AAAAAAAAAADn//b/AAAAAAAAAADn//f/AAAAAAAAAADn//j/AAAAAAAAAADn//n/AAAAAAAAAADn//r/AAAAAAAAAADo//P/AAAAAAAAAADo//T/AAAAAAAAAADo//X/AAAAAAAAAADo//b/AAAAAAAAAADo//f/AAAAAAAAAADo//j/AAAAAAAAAADo//n/AAAAAAAAAADo//r/AAAAAAAAAADp//P/AAAAAAAAAADp//T/AAAAAAAAAADp//X/AAAAAAAAAADp//b/AAAAAAAAAADp//f/AAAAAAAAAADp//j/AAAAAAAAAADp//n/AAAAAAAAAADp//r/AAAAAAAAAADq//P/AAAAAAAAAADq//T/AAAAAAAAAADq//X/AAAAAAAAAADq//b/AAAAAAAAAADq//f/AAAAAAAAAADq//j/AAAAAAAAAADq//n/AAAAAAAAAADq//r/AAAAAAAAAADm//H/AAAAAAAAAADm//L/AAAAAAAAAADn//H/AAAAAAAAAADn//L/AAAAAAAAAADo//H/AAAAAAAAAADo//L/AAAAAAAAAADp//H/AAAAAAAAAADp//L/AAAAAAAAAADq//H/AAAAAAAAAADq//L/AAAAAAAAAADm/wwAAAAAAAAAAADm/w0AAAAAAAAAAADn/wwAAAAAAAAAAADn/w0AAAAAAAAAAADo/wwAAAAAAAAAAADo/w0AAAAAAAAAAADp/wwAAAAAAAAAAADp/w0AAAAAAAAAAADq/wwAAAAAAAAAAADq/w0AAAAAAAAAAADr/wwAAAAAAAAAAADr/w0AAAAAAAAAAADs/wwAAAAAAAAAAADs/w0AAAAAAAAAAADt/wwAAAAAAAAAAADt/w0AAAAAAAAAAADu/wwAAAAAAAAAAADu/w0AAAAAAAAAAADv/wwAAAAAAAAAAADv/w0AAAAAAAAAAADw/wwAAAAAAAAAAADw/w0AAAAAAAAAAADx/wwAAAAAAAAAAADx/w0AAAAAAAAAAADy/wwAAAAAAAAAAADy/w0AAAAAAAAAAADz/wwAAAAAAAAAAADz/w0AAAAAAAAAAAD0/wwAAAAAAAAAAAD0/w0AAAAAAAAAAAD1/wwAAAAAAAAAAAD1/w0AAAAAAAAAAAD2/wwAAAAAAAAAAAD2/w0AAAAAAAAAAAD3/wwAAAAAAAAAAAD3/w0AAAAAAAAAAAD4/wwAAAAAAAAAAAD4/w0AAAAAAAAAAAD5/wwAAAAAAAAAAAD5/w0AAAAAAAAAAAD6/wwAAAAAAAAAAAD6/w0AAAAAAAAAAAD7/wwAAAAAAAAAAAD7/w0AAAAAAAAAAAD8/wwAAAAAAAAAAAD8/w0AAAAAAAAAAAD9/wwAAAAAAAAAAAD9/w0AAAAAAAAAAAAMAAwAAAAAAAAAAAANAAwAAAAAAAAAAAASAAwAAAAAAAAAAAATAAwAAAAAAAAAAAAUAAwAAAAAAAAAAADr//H/AAAAAAAAAADs//H/AAAAAAAAAADt//H/AAAAAAAAAADu//H/AAAAAAAAAADv//H/AAAAAAAAAADw//H/AAAAAAAAAADx//H/AAAAAAAAAADy//H/AAAAAAAAAADz//H/AAAAAAAAAAD0//H/AAAAAAAAAADr//b/AAAAAAAAAADs//b/AAAAAAAAAADt//b/AAAAAAAAAADu//b/AAAAAAAAAADv//b/AAAAAAAAAADw//b/AAAAAAAAAADx//b/AAAAAAAAAADy//b/AAAAAAAAAADu//L/AAAAAAAAAADu//P/AAAAAAAAAADu//T/AAAAAAAAAADw//P/AAAAAAAAAADw//T/AAAAAAAAAADw//X/AAAAAAAAAADy//L/AAAAAAAAAADy//P/AAAAAAAAAADy//T/AAAAAAAAAADy//X/AAAAAAAAAADz//L/AAAAAAAAAADz//P/AAAAAAAAAADz//T/AAAAAAAAAADz//X/AAAAAAAAAAD0//L/AAAAAAAAAAD0//P/AAAAAAAAAAD0//T/AAAAAAAAAAD0//X/AAAAAAAAAAD1//L/AAAAAAAAAAD1//P/AAAAAAAAAAD1//T/AAAAAAAAAAD1//X/AAAAAAAAAAD2//X/AAAAAAAAAAD3//X/AAAAAAAAAAD5//L/AAAAAAAAAAD5//P/AAAAAAAAAAD5//T/AAAAAAAAAAD5//X/AAAAAAAAAAD6//L/AAAAAAAAAAD6//P/AAAAAAAAAAD6//T/AAAAAAAAAAD6//X/AAAAAAAAAAD7//L/AAAAAAAAAAD7//P/AAAAAAAAAAD7//T/AAAAAAAAAAD7//X/AAAAAAAAAAD3//b/AAAAAAAAAAD3//f/AAAAAAAAAAD3//j/AAAAAAAAAAD3//n/AAAAAAAAAAD4//b/AAAAAAAAAAD4//f/AAAAAAAAAAD4//j/AAAAAAAAAAD4//n/AAAAAAAAAAD5//b/AAAAAAAAAAD5//f/AAAAAAAAAAD5//j/AAAAAAAAAAD5//n/AAAAAAAAAAD6//b/AAAAAAAAAAD6//f/AAAAAAAAAAD6//j/AAAAAAAAAAD1//H/AAAAAAAAAAD2//H/AAAAAAAAAAD3//H/AAAAAAAAAAD4//H/AAAAAAAAAAD5//H/AAAAAAAAAAD6//H/AAAAAAAAAAD7//H/AAAAAAAAAAD8//H/AAAAAAAAAAD9//H/AAAAAAAAAAD+//H/AAAAAAAAAAD8//L/AAAAAAAAAAD8//P/AAAAAAAAAAD9//L/AAAAAAAAAAD9//P/AAAAAAAAAAD+//L/AAAAAAAAAAD+//P/AAAAAAAAAAD4/wAAAAAAAAAAAAD4/wEAAAAAAAAAAAD4/wIAAAAAAAAAAAD4/wMAAAAAAAAAAAD4/wQAAAAAAAAAAAD4/wUAAAAAAAAAAAD4/wYAAAAAAAAAAAD4/wcAAAAAAAAAAAD4/wgAAAAAAAAAAAD5/wAAAAAAAAAAAAD5/wEAAAAAAAAAAAD5/wIAAAAAAAAAAAD5/wMAAAAAAAAAAAD5/wQAAAAAAAAAAAD5/wUAAAAAAAAAAAD5/wYAAAAAAAAAAAD5/wcAAAAAAAAAAAD5/wgAAAAAAAAAAAD6////AAAAAAAAAAD6/wAAAAAAAAAAAAD6/wEAAAAAAAAAAAD6/wIAAAAAAAAAAAD6/wMAAAAAAAAAAAD6/wQAAAAAAAAAAAD6/wUAAAAAAAAAAAD6/wYAAAAAAAAAAAD6/wcAAAAAAAAAAAD6/wgAAAAAAAAAAAD7////AAAAAAAAAAD7/wAAAAAAAAAAAAD7/wEAAAAAAAAAAAD7/wIAAAAAAAAAAAD7/wMAAAAAAAAAAAD7/wQAAAAAAAAAAAD7/wUAAAAAAAAAAAD7/wYAAAAAAAAAAAD7/wcAAAAAAAAAAAD7/wgAAAAAAAAAAAD8/wAAAAAAAAAAAAD8/wEAAAAAAAAAAAD8/wIAAAAAAAAAAAD8/wMAAAAAAAAAAAD8/wQAAAAAAAAAAAD8/wUAAAAAAAAAAAD8/wYAAAAAAAAAAAD8/wcAAAAAAAAAAAD8/wgAAAAAAAAAAAD9/wAAAAAAAAAAAAD9/wEAAAAAAAAAAAD9/wIAAAAAAAAAAAD3/wQAAAAAAAAAAAD3/wUAAAAAAAAAAAD1/wgAAAABAAAAAAD2/wgAAAAAAAAAAAD3/wgAAAAAAAAAAAD1/wMAAAAAAAAAAAD2/wIAAAAAAAAAAAD2/wMAAAAAAAAAAAD3/wIAAAAAAAAAAAD3/wMAAAAAAAAAAAD1/wQAAAAAAAAAAAD2/wQAAAAAAAAAAAD0/wUAAAAAAAAAAAD1/wUAAAAAAAAAAAD2/wUAAAAAAAAAAAD1/wYAAAAAAAAAAAD1/wcAAAAAAAAAAAD2/wYAAAAAAAAAAAD2/wcAAAAAAAAAAAD3/wYAAAAAAAAAAAD3/wcAAAAAAAAAAAASAAQAAAAAAAAAAAASAAUAAAAAAAAAAAASAAYAAAAAAAAAAAASAAcAAAAAAAAAAAASAAgAAAAAAAAAAAATAAQAAAAAAAAAAAATAAUAAAAAAAAAAAATAAYAAAAAAAAAAAATAAcAAAAAAAAAAAAUAAQAAAAAAAAAAAAUAAUAAAAAAAAAAAAUAAYAAAAAAAAAAAAUAAcAAAAAAAAAAAARAAAAAAAAAAAAAAARAAEAAAAAAAAAAAARAAIAAAAAAAAAAAARAAMAAAAAAAAAAAARAAQAAAAAAAAAAAARAAUAAAAAAAAAAAARAAYAAAAAAAAAAAARAAcAAAAAAAAAAAARAAgAAAAAAAAAAAAEAAwAAAAAAAAAAAD9/wkAAAAAAAAAAAD9/woAAAAAAAAAAAD9/wsAAAAAAAAAAAD9/wMAAAABAAAAAAD9/wQAAAABAAAAAAD9/wUAAAABAAAAAAD9/wYAAAABAAAAAAD9/wcAAAABAAAAAAD9/wgAAAABAAAAAAAEAAsAAAABAAAAAAAMAAoAAAABAAAAAAANAAoAAAABAAAAAAAOAAoAAAABAAAAAAARAPj/AAAAAAAAAAARAPn/AAAAAAAAAAARAPr/AAAAAAAAAAARAPv/AAAAAAAAAAAQAAAAAAABAAAAAAAQAAEAAAABAAAAAAAQAAIAAAABAAAAAAAQAAMAAAABAAAAAAAQAAQAAAABAAAAAAAQAAUAAAABAAAAAAAQAAYAAAABAAAAAAAQAAcAAAABAAAAAAAQAAgAAAABAAAAAAD///H/AAAAAAAAAAD///L/AAAAAAAAAAD///P/AAAAAAAAAAAAAPH/AAAAAAAAAAAAAPL/AAAAAAAAAAAAAPP/AAAAAAAAAAABAPH/AAAAAAAAAAABAPL/AAAAAAAAAAABAPP/AAAAAAAAAAACAPH/AAAAAAAAAAACAPL/AAAAAAAAAAACAPP/AAAAAAAAAAADAPH/AAAAAAAAAAADAPL/AAAAAAAAAAADAPP/AAAAAAAAAAAEAPH/AAAAAAAAAAAEAPL/AAAAAAAAAAAEAPP/AAAAAAAAAAAFAPH/AAAAAAAAAAAFAPL/AAAAAAAAAAAFAPP/AAAAAAAAAAAGAPH/AAAAAAAAAAAGAPL/AAAAAAAAAAAGAPP/AAAAAAAAAAAHAPH/AAAAAAAAAAAHAPL/AAAAAAAAAAAHAPP/AAAAAAAAAAAIAPH/AAAAAAAAAAAIAPL/AAAAAAAAAAAIAPP/AAAAAAAAAAAPAPb/AAAAAAAAAAAPAPf/AAAAAAAAAAAAAPT/AAAAAAAAAAABAPT/AAAAAAAAAAACAPT/AAAAAAAAAAADAPT/AAAAAAAAAAAQAPH/AAAAAAAAAAAQAPL/AAAAAAAAAAAQAPP/AAAAAAAAAAARAPH/AAAAAAAAAAARAPL/AAAAAAAAAAARAPP/AAAAAAAAAAASAPH/AAAAAAAAAAASAPL/AAAAAAAAAAASAPP/AAAAAAAAAAATAPH/AAAAAAAAAAATAPL/AAAAAAAAAAATAPP/AAAAAAAAAAAUAPH/AAAAAAAAAAAUAPL/AAAAAAAAAAAUAPP/AAAAAAAAAAAGAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAIAP7/AAAAAAAAAAAIAP//AAAAAAAAAAAIAAAAAAAAAAAAAAAJAP7/AAAAAAAAAAAJAP//AAAAAAAAAAAJAAAAAAAAAAAAAAAKAP7/AAAAAAAAAAAKAP//AAAAAAAAAAAKAAAAAAAAAAAAAAALAP7/AAAAAAAAAAAFAAAAAAAAAAAAAAAFAAEAAAAAAAAAAAAFAAIAAAAAAAAAAAAFAAMAAAAAAAAAAAAGAAEAAAAAAAAAAAAGAAIAAAAAAAAAAAAGAAMAAAAAAAAAAAAGAAQAAAAAAAAAAAAGAAUAAAAAAAAAAAAHAAEAAAAAAAAAAAAHAAIAAAAAAAAAAAAHAAMAAAAAAAAAAAAHAAQAAAAAAAAAAAAHAAUAAAAAAAAAAAAIAAEAAAAAAAAAAAAIAAIAAAAAAAAAAAAIAAMAAAAAAAAAAAAIAAQAAAAAAAAAAAAIAAUAAAAAAAAAAAAJAAEAAAAAAAAAAAAJAAIAAAAAAAAAAAAJAAMAAAAAAAAAAAAJAAQAAAAAAAAAAAAJAAUAAAAAAAAAAAAKAAEAAAAAAAAAAAAKAAIAAAAAAAAAAAAKAAMAAAAAAAAAAAAKAAQAAAAAAAAAAAAKAAUAAAAAAAAAAAALAP//AAAAAAAAAAALAAAAAAAAAAAAAAALAAEAAAAAAAAAAAALAAIAAAAAAAAAAAALAAMAAAAAAAAAAAAIAPT/AAAAAAAAAAAIAPX/AAAAAAAAAAAIAPb/AAAAAAAAAAAIAPf/AAAAAAAAAAAIAPj/AAAAAAAAAAAJAPT/AAAAAAAAAAAJAPX/AAAAAAAAAAAJAPb/AAAAAAAAAAAJAPf/AAAAAAAAAAAJAPj/AAAAAAAAAAAKAPT/AAAAAAAAAAAKAPX/AAAAAAAAAAAKAPb/AAAAAAAAAAAKAPf/AAAAAAAAAAAKAPj/AAAAAAAAAAALAP3/AAAAAAAAAAAMAP3/AAAAAAAAAAAMAP7/AAAAAAAAAAAMAP//AAAAAAAAAAANAP3/AAAAAAAAAAANAP7/AAAAAAAAAAANAP//AAAAAAAAAAAJAPH/AAAAAAAAAAAJAPL/AAAAAAAAAAAJAPP/AAAAAAAAAAAKAPH/AAAAAAAAAAAKAPL/AAAAAAAAAAAKAPP/AAAAAAAAAAAPAPH/AAAAAAAAAAAPAPL/AAAAAAAAAAAPAPP/AAAAAAAAAAAPAPT/AAAAAAAAAAAPAPX/AAAAAAAAAAAQAPj/AAAAAAAAAAAQAPn/AAAAAAAAAAAPAPj/AAAAAAAAAAAPAPn/AAAAAAAAAAAPAPr/AAAAAAAAAAAQAPr/AAAAAAAAAAAQAPv/AAAAAAAAAAD2//b/AAAAAAAAAAD2//f/AAAAAAAAAAD2//j/AAAAAAAAAAD2//n/AAAAAAAAAAD2//r/AAAAAAAAAAD1//b/AAAAAAAAAAD1//f/AAAAAAAAAAD1//j/AAAAAAAAAAD1//n/AAAAAAAAAAD1//r/AAAAAAAAAAD1//v/AAAAAAAAAAD0//r/AAAAAAAAAAD0//v/AAAAAAAAAAD1//z/AAAAAAAAAAD5//r/AAAAAAAAAAD2//L/AAAAAAAAAAD3//L/AAAAAAAAAAD4//L/AAAAAAAAAAD3//P/AAAAAAAAAAD3//T/AAAAAAAAAAD4//7/AAAAAAAAAAD4////AAAAAAAAAAD5//7/AAAAAAAAAAD5////AAAAAAAAAAA=") +tile_map_data = PackedByteArray("AAAAAA0AAAAAAAAAAAABAA0AAAAAAAAAAAACAA0AAAAAAAAAAAADAA0AAAAAAAAAAAAEAA0AAAAAAAAAAAAMAA0AAAAAAAAAAAANAA0AAAAAAAAAAAAOAA0AAAAAAAAAAAAPAA0AAAAAAAAAAAAQAA0AAAAAAAAAAAARAA0AAAAAAAAAAAASAA0AAAAAAAAAAAATAA0AAAAAAAAAAAAUAA0AAAAAAAAAAAADAAsAAAABAAAAAAACAAsAAAABAAAAAAACAAwAAAAAAAAAAAADAAwAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAwAAAAAAAAAAAABAAsAAAABAAAAAAABAAwAAAAAAAAAAAAPAAoAAAAAAAAAAAAPAAsAAAAAAAAAAAAQAAoAAAAAAAAAAAAQAAsAAAAAAAAAAAATAAgAAAAAAAAAAAATAAkAAAAAAAAAAAAUAAgAAAAAAAAAAAAUAAkAAAAAAAAAAAD//wkAAAAAAAAAAAD//woAAAAAAAAAAAD//wsAAAAAAAAAAAD//wwAAAAAAAAAAAD//w0AAAAAAAAAAAD+/wkAAAAAAAAAAAD+/woAAAAAAAAAAAD+/wsAAAAAAAAAAAD+/wwAAAAAAAAAAAD+/w0AAAAAAAAAAAAQAPz/AAAAAAAAAAAQAP3/AAAAAAAAAAAQAP7/AAAAAAAAAAARAPz/AAAAAAAAAAARAP3/AAAAAAAAAAARAP7/AAAAAAAAAAARAP//AAAAAAAAAAASAPz/AAAAAAAAAAASAP3/AAAAAAAAAAASAP7/AAAAAAAAAAASAP//AAAAAAAAAAATAPz/AAAAAAAAAAATAP3/AAAAAAAAAAATAP7/AAAAAAAAAAATAP//AAAAAAAAAAAUAPz/AAAAAAAAAAAUAP3/AAAAAAAAAAAUAP7/AAAAAAAAAAAUAP//AAAAAAAAAAAPAAwAAAAAAAAAAAAQAAwAAAAAAAAAAAAOAAwAAAAAAAAAAAARAAwAAAAAAAAAAADm/wcAAAAAAAAAAADm/wgAAAAAAAAAAADm/wkAAAAAAAAAAADm/woAAAAAAAAAAADm/wsAAAAAAAAAAADn/wcAAAAAAAAAAADn/wgAAAAAAAAAAADn/wkAAAAAAAAAAADn/woAAAAAAAAAAADn/wsAAAAAAAAAAADo/wcAAAAAAAAAAADo/wgAAAAAAAAAAADo/wkAAAAAAAAAAADo/woAAAAAAAAAAADo/wsAAAAAAAAAAADp/wcAAAAAAAAAAADp/wgAAAAAAAAAAADp/wkAAAAAAAAAAADp/woAAAAAAAAAAADp/wsAAAAAAAAAAADq/wcAAAAAAAAAAADq/wgAAAAAAAAAAADq/wkAAAAAAAAAAADq/woAAAAAAAAAAADq/wsAAAAAAAAAAADr/wcAAAAAAAAAAADr/wgAAAAAAAAAAADr/wkAAAAAAAAAAADr/woAAAAAAAAAAADr/wsAAAAAAAAAAADs/wcAAAAAAAAAAADs/wgAAAAAAAAAAADs/wkAAAAAAAAAAADs/woAAAAAAAAAAADs/wsAAAAAAAAAAADt/wkAAAAAAAAAAADt/woAAAAAAAAAAADt/wsAAAAAAAAAAADu/wkAAAAAAAAAAADu/woAAAAAAAAAAADu/wsAAAAAAAAAAADv/wkAAAAAAAAAAADv/woAAAAAAAAAAADv/wsAAAAAAAAAAADw/wkAAAAAAAAAAADw/woAAAAAAAAAAADw/wsAAAAAAAAAAADx/wkAAAAAAAAAAADx/woAAAAAAAAAAADx/wsAAAAAAAAAAADy/wkAAAAAAAAAAADy/woAAAAAAAAAAADy/wsAAAAAAAAAAADz/wkAAAAAAAAAAADz/woAAAAAAAAAAADz/wsAAAAAAAAAAAD0/wkAAAAAAAAAAAD0/woAAAAAAAAAAAD0/wsAAAAAAAAAAAD1/wkAAAAAAAAAAAD1/woAAAAAAAAAAAD1/wsAAAAAAAAAAAD2/wkAAAAAAAAAAAD2/woAAAAAAAAAAAD2/wsAAAAAAAAAAAD3/wkAAAAAAAAAAAD3/woAAAAAAAAAAAD3/wsAAAAAAAAAAAD4/wkAAAAAAAAAAAD4/woAAAAAAAAAAAD4/wsAAAAAAAAAAAD5/wkAAAAAAAAAAAD5/woAAAAAAAAAAAD5/wsAAAAAAAAAAAD6/wkAAAAAAAAAAAD6/woAAAAAAAAAAAD6/wsAAAAAAAAAAAD7/wkAAAAAAAAAAAD7/woAAAAAAAAAAAD7/wsAAAAAAAAAAAD8/wkAAAAAAAAAAAD8/woAAAAAAAAAAAD8/wsAAAAAAAAAAAAMAAsAAAAAAAAAAAANAAsAAAAAAAAAAAAOAAsAAAAAAAAAAAAPAAkAAAAAAAAAAAAQAAkAAAAAAAAAAAARAAkAAAAAAAAAAAARAAoAAAAAAAAAAAARAAsAAAAAAAAAAAASAAkAAAAAAAAAAAASAAoAAAAAAAAAAAASAAsAAAAAAAAAAAATAAoAAAAAAAAAAAATAAsAAAAAAAAAAAAUAAoAAAAAAAAAAAAUAAsAAAAAAAAAAAAQAPT/AAAAAAAAAAAQAPX/AAAAAAAAAAAQAPb/AAAAAAAAAAAQAPf/AAAAAAAAAAARAPT/AAAAAAAAAAARAPX/AAAAAAAAAAARAPb/AAAAAAAAAAARAPf/AAAAAAAAAAASAPT/AAAAAAAAAAASAPX/AAAAAAAAAAASAPb/AAAAAAAAAAASAPf/AAAAAAAAAAATAPT/AAAAAAAAAAATAPX/AAAAAAAAAAATAPb/AAAAAAAAAAATAPf/AAAAAAAAAAAUAPT/AAAAAAAAAAAUAPX/AAAAAAAAAAAUAPb/AAAAAAAAAAAUAPf/AAAAAAAAAAASAPj/AAAAAAAAAAASAPn/AAAAAAAAAAASAPr/AAAAAAAAAAASAPv/AAAAAAAAAAASAAAAAAAAAAAAAAASAAEAAAAAAAAAAAASAAIAAAAAAAAAAAASAAMAAAAAAAAAAAATAPj/AAAAAAAAAAATAPn/AAAAAAAAAAATAPr/AAAAAAAAAAATAPv/AAAAAAAAAAATAAAAAAAAAAAAAAATAAEAAAAAAAAAAAATAAIAAAAAAAAAAAATAAMAAAAAAAAAAAAUAPj/AAAAAAAAAAAUAPn/AAAAAAAAAAAUAPr/AAAAAAAAAAAUAPv/AAAAAAAAAAAUAAAAAAAAAAAAAAAUAAEAAAAAAAAAAAAUAAIAAAAAAAAAAAAUAAMAAAAAAAAAAADm//v/AAAAAAAAAADm//z/AAAAAAAAAADm//3/AAAAAAAAAADm//7/AAAAAAAAAADm////AAAAAAAAAADm/wAAAAAAAAAAAADm/wEAAAAAAAAAAADm/wIAAAAAAAAAAADm/wMAAAAAAAAAAADm/wQAAAAAAAAAAADm/wUAAAAAAAAAAADm/wYAAAAAAAAAAADn//v/AAAAAAAAAADn//z/AAAAAAAAAADn//3/AAAAAAAAAADn//7/AAAAAAAAAADn////AAAAAAAAAADn/wAAAAAAAAAAAADn/wEAAAAAAAAAAADn/wIAAAAAAAAAAADn/wMAAAAAAAAAAADn/wQAAAAAAAAAAADn/wUAAAAAAAAAAADn/wYAAAAAAAAAAADo//v/AAAAAAAAAADo//z/AAAAAAAAAADo//3/AAAAAAAAAADo//7/AAAAAAAAAADo////AAAAAAAAAADo/wAAAAAAAAAAAADo/wEAAAAAAAAAAADo/wIAAAAAAAAAAADo/wMAAAAAAAAAAADo/wQAAAAAAAAAAADo/wUAAAAAAAAAAADo/wYAAAAAAAAAAADt/wgAAAABAAAAAADu/wgAAAABAAAAAADv/wgAAAABAAAAAADw/wgAAAABAAAAAADx/wgAAAABAAAAAADy/wgAAAABAAAAAADz/wgAAAABAAAAAAD0/wgAAAABAAAAAADp//v/AAAAAAAAAADp//z/AAAAAAAAAADp//3/AAAAAAAAAADq//v/AAAAAAAAAADq//z/AAAAAAAAAADq//3/AAAAAAAAAADq//7/AAAAAAAAAADp//7/AAAAAAAAAADm//P/AAAAAAAAAADm//T/AAAAAAAAAADm//X/AAAAAAAAAADm//b/AAAAAAAAAADm//f/AAAAAAAAAADm//j/AAAAAAAAAADm//n/AAAAAAAAAADm//r/AAAAAAAAAADn//P/AAAAAAAAAADn//T/AAAAAAAAAADn//X/AAAAAAAAAADn//b/AAAAAAAAAADn//f/AAAAAAAAAADn//j/AAAAAAAAAADn//n/AAAAAAAAAADn//r/AAAAAAAAAADo//P/AAAAAAAAAADo//T/AAAAAAAAAADo//X/AAAAAAAAAADo//b/AAAAAAAAAADo//f/AAAAAAAAAADo//j/AAAAAAAAAADo//n/AAAAAAAAAADo//r/AAAAAAAAAADp//P/AAAAAAAAAADp//T/AAAAAAAAAADp//X/AAAAAAAAAADp//b/AAAAAAAAAADp//f/AAAAAAAAAADp//j/AAAAAAAAAADp//n/AAAAAAAAAADp//r/AAAAAAAAAADq//P/AAAAAAAAAADq//T/AAAAAAAAAADq//X/AAAAAAAAAADq//b/AAAAAAAAAADq//f/AAAAAAAAAADq//j/AAAAAAAAAADq//n/AAAAAAAAAADq//r/AAAAAAAAAADm//H/AAAAAAAAAADm//L/AAAAAAAAAADn//H/AAAAAAAAAADn//L/AAAAAAAAAADo//H/AAAAAAAAAADo//L/AAAAAAAAAADp//H/AAAAAAAAAADp//L/AAAAAAAAAADq//H/AAAAAAAAAADq//L/AAAAAAAAAADm/wwAAAAAAAAAAADm/w0AAAAAAAAAAADn/wwAAAAAAAAAAADn/w0AAAAAAAAAAADo/wwAAAAAAAAAAADo/w0AAAAAAAAAAADp/wwAAAAAAAAAAADp/w0AAAAAAAAAAADq/wwAAAAAAAAAAADq/w0AAAAAAAAAAADr/wwAAAAAAAAAAADr/w0AAAAAAAAAAADs/wwAAAAAAAAAAADs/w0AAAAAAAAAAADt/wwAAAAAAAAAAADt/w0AAAAAAAAAAADu/wwAAAAAAAAAAADu/w0AAAAAAAAAAADv/wwAAAAAAAAAAADv/w0AAAAAAAAAAADw/wwAAAAAAAAAAADw/w0AAAAAAAAAAADx/wwAAAAAAAAAAADx/w0AAAAAAAAAAADy/wwAAAAAAAAAAADy/w0AAAAAAAAAAADz/wwAAAAAAAAAAADz/w0AAAAAAAAAAAD0/wwAAAAAAAAAAAD0/w0AAAAAAAAAAAD1/wwAAAAAAAAAAAD1/w0AAAAAAAAAAAD2/wwAAAAAAAAAAAD2/w0AAAAAAAAAAAD3/wwAAAAAAAAAAAD3/w0AAAAAAAAAAAD4/wwAAAAAAAAAAAD4/w0AAAAAAAAAAAD5/wwAAAAAAAAAAAD5/w0AAAAAAAAAAAD6/wwAAAAAAAAAAAD6/w0AAAAAAAAAAAD7/wwAAAAAAAAAAAD7/w0AAAAAAAAAAAD8/wwAAAAAAAAAAAD8/w0AAAAAAAAAAAD9/wwAAAAAAAAAAAD9/w0AAAAAAAAAAAAMAAwAAAAAAAAAAAANAAwAAAAAAAAAAAASAAwAAAAAAAAAAAATAAwAAAAAAAAAAAAUAAwAAAAAAAAAAADr//H/AAAAAAAAAADs//H/AAAAAAAAAADt//H/AAAAAAAAAADu//H/AAAAAAAAAADv//H/AAAAAAAAAADw//H/AAAAAAAAAADx//H/AAAAAAAAAADy//H/AAAAAAAAAADz//H/AAAAAAAAAAD0//H/AAAAAAAAAADr//b/AAAAAAAAAADs//b/AAAAAAAAAADt//b/AAAAAAAAAADu//b/AAAAAAAAAADv//b/AAAAAAAAAADw//b/AAAAAAAAAADx//b/AAAAAAAAAADy//b/AAAAAAAAAADu//L/AAAAAAAAAADu//P/AAAAAAAAAADu//T/AAAAAAAAAADw//P/AAAAAAAAAADw//T/AAAAAAAAAADw//X/AAAAAAAAAADy//L/AAAAAAAAAADy//P/AAAAAAAAAADy//T/AAAAAAAAAADy//X/AAAAAAAAAADz//L/AAAAAAAAAADz//P/AAAAAAAAAADz//T/AAAAAAAAAADz//X/AAAAAAAAAAD0//L/AAAAAAAAAAD0//P/AAAAAAAAAAD0//T/AAAAAAAAAAD0//X/AAAAAAAAAAD1//L/AAAAAAAAAAD1//P/AAAAAAAAAAD1//T/AAAAAAAAAAD1//X/AAAAAAAAAAD2//X/AAAAAAAAAAD3//X/AAAAAAAAAAD5//L/AAAAAAAAAAD5//P/AAAAAAAAAAD5//T/AAAAAAAAAAD5//X/AAAAAAAAAAD6//L/AAAAAAAAAAD6//P/AAAAAAAAAAD6//T/AAAAAAAAAAD6//X/AAAAAAAAAAD7//L/AAAAAAAAAAD7//P/AAAAAAAAAAD7//T/AAAAAAAAAAD7//X/AAAAAAAAAAD3//b/AAAAAAAAAAD3//f/AAAAAAAAAAD3//j/AAAAAAAAAAD3//n/AAAAAAAAAAD4//b/AAAAAAAAAAD4//f/AAAAAAAAAAD4//j/AAAAAAAAAAD4//n/AAAAAAAAAAD5//b/AAAAAAAAAAD5//f/AAAAAAAAAAD5//j/AAAAAAAAAAD5//n/AAAAAAAAAAD6//b/AAAAAAAAAAD6//f/AAAAAAAAAAD6//j/AAAAAAAAAAD1//H/AAAAAAAAAAD2//H/AAAAAAAAAAD3//H/AAAAAAAAAAD4//H/AAAAAAAAAAD5//H/AAAAAAAAAAD6//H/AAAAAAAAAAD7//H/AAAAAAAAAAD8//H/AAAAAAAAAAD9//H/AAAAAAAAAAD+//H/AAAAAAAAAAD8//L/AAAAAAAAAAD8//P/AAAAAAAAAAD9//L/AAAAAAAAAAD9//P/AAAAAAAAAAD+//L/AAAAAAAAAAD+//P/AAAAAAAAAAD4/wAAAAAAAAAAAAD4/wEAAAAAAAAAAAD4/wIAAAAAAAAAAAD4/wMAAAAAAAAAAAD4/wQAAAAAAAAAAAD4/wUAAAAAAAAAAAD4/wYAAAAAAAAAAAD4/wcAAAAAAAAAAAD4/wgAAAAAAAAAAAD5/wAAAAAAAAAAAAD5/wEAAAAAAAAAAAD5/wIAAAAAAAAAAAD5/wMAAAAAAAAAAAD5/wQAAAAAAAAAAAD5/wUAAAAAAAAAAAD5/wYAAAAAAAAAAAD5/wcAAAAAAAAAAAD5/wgAAAAAAAAAAAD6////AAAAAAAAAAD6/wAAAAAAAAAAAAD6/wEAAAAAAAAAAAD6/wIAAAAAAAAAAAD6/wMAAAAAAAAAAAD6/wQAAAAAAAAAAAD6/wUAAAAAAAAAAAD6/wYAAAAAAAAAAAD6/wcAAAAAAAAAAAD6/wgAAAAAAAAAAAD7////AAAAAAAAAAD7/wAAAAAAAAAAAAD7/wEAAAAAAAAAAAD7/wIAAAAAAAAAAAD7/wMAAAAAAAAAAAD7/wQAAAAAAAAAAAD7/wUAAAAAAAAAAAD7/wYAAAAAAAAAAAD7/wcAAAAAAAAAAAD7/wgAAAAAAAAAAAD8/wAAAAAAAAAAAAD8/wEAAAAAAAAAAAD8/wIAAAAAAAAAAAD8/wMAAAAAAAAAAAD8/wQAAAAAAAAAAAD8/wUAAAAAAAAAAAD8/wYAAAAAAAAAAAD8/wcAAAAAAAAAAAD8/wgAAAAAAAAAAAD9/wAAAAAAAAAAAAD9/wEAAAAAAAAAAAD9/wIAAAAAAAAAAAD3/wQAAAAAAAAAAAD3/wUAAAAAAAAAAAD1/wgAAAABAAAAAAD2/wgAAAAAAAAAAAD3/wgAAAAAAAAAAAD1/wMAAAAAAAAAAAD2/wIAAAAAAAAAAAD2/wMAAAAAAAAAAAD3/wIAAAAAAAAAAAD3/wMAAAAAAAAAAAD1/wQAAAAAAAAAAAD2/wQAAAAAAAAAAAD0/wUAAAAAAAAAAAD1/wUAAAAAAAAAAAD2/wUAAAAAAAAAAAD1/wYAAAAAAAAAAAD1/wcAAAAAAAAAAAD2/wYAAAAAAAAAAAD2/wcAAAAAAAAAAAD3/wYAAAAAAAAAAAD3/wcAAAAAAAAAAAASAAQAAAAAAAAAAAASAAUAAAAAAAAAAAASAAYAAAAAAAAAAAASAAcAAAAAAAAAAAASAAgAAAAAAAAAAAATAAQAAAAAAAAAAAATAAUAAAAAAAAAAAATAAYAAAAAAAAAAAATAAcAAAAAAAAAAAAUAAQAAAAAAAAAAAAUAAUAAAAAAAAAAAAUAAYAAAAAAAAAAAAUAAcAAAAAAAAAAAARAAAAAAAAAAAAAAARAAEAAAAAAAAAAAARAAIAAAAAAAAAAAARAAMAAAAAAAAAAAARAAQAAAAAAAAAAAARAAUAAAAAAAAAAAARAAYAAAAAAAAAAAARAAcAAAAAAAAAAAARAAgAAAAAAAAAAAAEAAwAAAAAAAAAAAD9/wkAAAAAAAAAAAD9/woAAAAAAAAAAAD9/wsAAAAAAAAAAAD9/wMAAAABAAAAAAD9/wQAAAABAAAAAAD9/wUAAAABAAAAAAD9/wYAAAABAAAAAAD9/wcAAAABAAAAAAD9/wgAAAABAAAAAAAEAAsAAAABAAAAAAAMAAoAAAABAAAAAAANAAoAAAABAAAAAAAOAAoAAAABAAAAAAARAPj/AAAAAAAAAAARAPn/AAAAAAAAAAARAPr/AAAAAAAAAAARAPv/AAAAAAAAAAAQAAAAAAABAAAAAAAQAAEAAAABAAAAAAAQAAIAAAABAAAAAAAQAAMAAAABAAAAAAAQAAQAAAABAAAAAAAQAAUAAAABAAAAAAAQAAYAAAABAAAAAAAQAAcAAAABAAAAAAAQAAgAAAABAAAAAAD///H/AAAAAAAAAAD///L/AAAAAAAAAAD///P/AAAAAAAAAAAAAPH/AAAAAAAAAAAAAPL/AAAAAAAAAAAAAPP/AAAAAAAAAAABAPH/AAAAAAAAAAABAPL/AAAAAAAAAAABAPP/AAAAAAAAAAACAPH/AAAAAAAAAAACAPL/AAAAAAAAAAACAPP/AAAAAAAAAAADAPH/AAAAAAAAAAADAPL/AAAAAAAAAAADAPP/AAAAAAAAAAAEAPH/AAAAAAAAAAAEAPL/AAAAAAAAAAAEAPP/AAAAAAAAAAAFAPH/AAAAAAAAAAAFAPL/AAAAAAAAAAAFAPP/AAAAAAAAAAAGAPH/AAAAAAAAAAAGAPL/AAAAAAAAAAAGAPP/AAAAAAAAAAAHAPH/AAAAAAAAAAAHAPL/AAAAAAAAAAAHAPP/AAAAAAAAAAAIAPH/AAAAAAAAAAAIAPL/AAAAAAAAAAAIAPP/AAAAAAAAAAAPAPb/AAAAAAAAAAAPAPf/AAAAAAAAAAAAAPT/AAAAAAAAAAABAPT/AAAAAAAAAAACAPT/AAAAAAAAAAADAPT/AAAAAAAAAAAQAPH/AAAAAAAAAAAQAPL/AAAAAAAAAAAQAPP/AAAAAAAAAAARAPH/AAAAAAAAAAARAPL/AAAAAAAAAAARAPP/AAAAAAAAAAASAPH/AAAAAAAAAAASAPL/AAAAAAAAAAASAPP/AAAAAAAAAAATAPH/AAAAAAAAAAATAPL/AAAAAAAAAAATAPP/AAAAAAAAAAAUAPH/AAAAAAAAAAAUAPL/AAAAAAAAAAAUAPP/AAAAAAAAAAAGAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAIAP7/AAAAAAAAAAAIAP//AAAAAAAAAAAIAAAAAAAAAAAAAAAJAP7/AAAAAAAAAAAJAP//AAAAAAAAAAAJAAAAAAAAAAAAAAAKAP7/AAAAAAAAAAAKAP//AAAAAAAAAAAKAAAAAAAAAAAAAAALAP7/AAAAAAAAAAAFAAAAAAAAAAAAAAAFAAEAAAAAAAAAAAAFAAIAAAAAAAAAAAAFAAMAAAAAAAAAAAAGAAEAAAAAAAAAAAAGAAIAAAAAAAAAAAAGAAMAAAAAAAAAAAAGAAQAAAAAAAAAAAAGAAUAAAAAAAAAAAAHAAEAAAAAAAAAAAAHAAIAAAAAAAAAAAAHAAMAAAAAAAAAAAAHAAQAAAAAAAAAAAAHAAUAAAAAAAAAAAAIAAEAAAAAAAAAAAAIAAIAAAAAAAAAAAAIAAMAAAAAAAAAAAAIAAQAAAAAAAAAAAAIAAUAAAAAAAAAAAAJAAEAAAAAAAAAAAAJAAIAAAAAAAAAAAAJAAMAAAAAAAAAAAAJAAQAAAAAAAAAAAAJAAUAAAAAAAAAAAAKAAEAAAAAAAAAAAAKAAIAAAAAAAAAAAAKAAMAAAAAAAAAAAAKAAQAAAAAAAAAAAAKAAUAAAAAAAAAAAALAP//AAAAAAAAAAALAAAAAAAAAAAAAAALAAEAAAAAAAAAAAALAAIAAAAAAAAAAAALAAMAAAAAAAAAAAAIAPT/AAAAAAAAAAAIAPX/AAAAAAAAAAAIAPb/AAAAAAAAAAAIAPf/AAAAAAAAAAAIAPj/AAAAAAAAAAAJAPT/AAAAAAAAAAAJAPX/AAAAAAAAAAAJAPb/AAAAAAAAAAAJAPf/AAAAAAAAAAAJAPj/AAAAAAAAAAAKAPT/AAAAAAAAAAAKAPX/AAAAAAAAAAAKAPb/AAAAAAAAAAAKAPf/AAAAAAAAAAAKAPj/AAAAAAAAAAALAP3/AAAAAAAAAAAMAP3/AAAAAAAAAAAMAP7/AAAAAAAAAAAMAP//AAAAAAAAAAANAP3/AAAAAAAAAAANAP7/AAAAAAAAAAANAP//AAAAAAAAAAAJAPH/AAAAAAAAAAAJAPL/AAAAAAAAAAAJAPP/AAAAAAAAAAAKAPH/AAAAAAAAAAAKAPL/AAAAAAAAAAAKAPP/AAAAAAAAAAAPAPH/AAAAAAAAAAAPAPL/AAAAAAAAAAAPAPP/AAAAAAAAAAAPAPT/AAAAAAAAAAAPAPX/AAAAAAAAAAAQAPj/AAAAAAAAAAAQAPn/AAAAAAAAAAAPAPj/AAAAAAAAAAAPAPn/AAAAAAAAAAAPAPr/AAAAAAAAAAAQAPr/AAAAAAAAAAAQAPv/AAAAAAAAAAD2//b/AAAAAAAAAAD2//f/AAAAAAAAAAD2//j/AAAAAAAAAAD2//n/AAAAAAAAAAD2//r/AAAAAAAAAAD1//b/AAAAAAAAAAD1//f/AAAAAAAAAAD1//j/AAAAAAAAAAD1//n/AAAAAAAAAAD1//r/AAAAAAAAAAD1//v/AAAAAAAAAAD0//r/AAAAAAAAAAD0//v/AAAAAAAAAAD1//z/AAAAAAAAAAD5//r/AAAAAAAAAAD2//L/AAAAAAAAAAD3//L/AAAAAAAAAAD4//L/AAAAAAAAAAD3//P/AAAAAAAAAAD3//T/AAAAAAAAAAD4//7/AAAAAAAAAAD4////AAAAAAAAAAD5//7/AAAAAAAAAAD5////AAAAAAAAAAALAPP/AAACAAAAAAAMAPP/AAACAAAAAAANAPP/AAACAAAAAAAOAPP/AAACAAAAAADr//7/AAACAAAAAADs//7/AAACAAAAAADt//7/AAACAAAAAADu//7/AAACAAAAAADv//7/AAACAAAAAADw//7/AAACAAAAAADr//f/AAAAAAAAAADr//j/AAAAAAAAAADr//n/AAAAAAAAAADs//f/AAAAAAAAAADs//j/AAAAAAAAAADt//f/AAAAAAAAAADt//j/AAAAAAAAAADr//T/AAAAAAAAAADs//T/AAAAAAAAAADs//X/AAAAAAAAAADt//X/AAAAAAAAAADr//X/AAAAAAAAAADr//P/AAAAAAAAAADr//r/AAAAAAAAAADp////AAAAAAAAAADp/wAAAAAAAAAAAAA=") diff --git a/_scene/level1/l1_s2.tscn b/_scene/level1/l1_s2.tscn index 355200a..daf55e4 100644 --- a/_scene/level1/l1_s2.tscn +++ b/_scene/level1/l1_s2.tscn @@ -6,7 +6,7 @@ [ext_resource type="Script" uid="uid://dsgl7lbyjsiif" path="res://addons/reedscene/act/ActManager.gd" id="4_10cyl"] [ext_resource type="Script" uid="uid://ons77en82uls" path="res://addons/reedscene/scene/SceneTrigger.gd" id="4_qrebp"] [ext_resource type="Script" uid="uid://fxpk2ot6otfh" path="res://addons/reedscene/act/Act.gd" id="5_0xms0"] -[ext_resource type="Resource" uid="uid://gmaitie4ys4h" path="res://_shared/QuickTriggerConfig/player_entered_act_1.tres" id="5_qrebp"] +[ext_resource type="Resource" uid="uid://gmaitie4ys4h" path="res://_shared/quick_scene_config/player_entered_act_1.tres" id="5_qrebp"] [ext_resource type="Script" uid="uid://baqgorvlumyju" path="res://addons/reedscene/act/SingleAct.gd" id="6_agny0"] [ext_resource type="Script" uid="uid://pxjf5vst08eo" path="res://addons/reedscene/prop/PropManager.gd" id="7_8ou3l"] [ext_resource type="PackedScene" uid="uid://bflwr7cryd2l0" path="res://_shared/camera/CameraAnchor.tscn" id="8_dq7pn"] diff --git a/_scene/level1/l1_s3.tscn b/_scene/level1/l1_s3.tscn index cf51152..0a5273d 100644 --- a/_scene/level1/l1_s3.tscn +++ b/_scene/level1/l1_s3.tscn @@ -5,7 +5,7 @@ [ext_resource type="Script" uid="uid://dn0ksjoswquf5" path="res://addons/reedscene/scene/SceneManager.gd" id="3_uuej8"] [ext_resource type="Script" uid="uid://ons77en82uls" path="res://addons/reedscene/scene/SceneTrigger.gd" id="4_2v5hg"] [ext_resource type="Script" uid="uid://dsgl7lbyjsiif" path="res://addons/reedscene/act/ActManager.gd" id="4_jlqvj"] -[ext_resource type="Resource" uid="uid://cstjpy2eh8mck" path="res://_shared/QuickTriggerConfig/prop1_player_entered_act_1.tres" id="5_jlqvj"] +[ext_resource type="Resource" uid="uid://cstjpy2eh8mck" path="res://_shared/quick_scene_config/prop1_player_entered_act_1.tres" id="5_jlqvj"] [ext_resource type="Script" uid="uid://fxpk2ot6otfh" path="res://addons/reedscene/act/Act.gd" id="5_vajwc"] [ext_resource type="Script" uid="uid://baqgorvlumyju" path="res://addons/reedscene/act/SingleAct.gd" id="6_td1yf"] [ext_resource type="Script" uid="uid://pxjf5vst08eo" path="res://addons/reedscene/prop/PropManager.gd" id="7_pawhc"] diff --git a/_scene/level1/l1_s4_Es.tscn b/_scene/level1/l1_s4_Es.tscn index acb3063..f121ec0 100644 --- a/_scene/level1/l1_s4_Es.tscn +++ b/_scene/level1/l1_s4_Es.tscn @@ -7,7 +7,7 @@ [ext_resource type="Script" uid="uid://ons77en82uls" path="res://addons/reedscene/scene/SceneTrigger.gd" id="4_sv1n5"] [ext_resource type="Script" uid="uid://fxpk2ot6otfh" path="res://addons/reedscene/act/Act.gd" id="5_dnt6f"] [ext_resource type="Script" uid="uid://pxjf5vst08eo" path="res://addons/reedscene/prop/PropManager.gd" id="5_qtvqv"] -[ext_resource type="Resource" uid="uid://gmaitie4ys4h" path="res://_shared/QuickTriggerConfig/player_entered_act_1.tres" id="5_sv1n5"] +[ext_resource type="Resource" uid="uid://gmaitie4ys4h" path="res://_shared/quick_scene_config/player_entered_act_1.tres" id="5_sv1n5"] [ext_resource type="Script" uid="uid://baqgorvlumyju" path="res://addons/reedscene/act/SingleAct.gd" id="6_qtvqv"] [ext_resource type="PackedScene" uid="uid://bflwr7cryd2l0" path="res://_shared/camera/CameraAnchor.tscn" id="8_6bhoi"] [ext_resource type="TileSet" uid="uid://doepkfp83k0lb" path="res://_tileset/test.tres" id="8_wofhb"] diff --git a/_shared/RespawnManager.gd b/_shared/RespawnManager.gd new file mode 100644 index 0000000..73bc649 --- /dev/null +++ b/_shared/RespawnManager.gd @@ -0,0 +1,13 @@ +extends Node + +var _cached_respawn : Array[PlayerRespawnPoint] + +## 外部向管理器注冊自己 +func register_player_respawn(prp: PlayerRespawnPoint) -> void: + if not _cached_respawn.has(prp): + _cached_respawn.append(prp) + +## 清除其他管理器的Respawn +func reset_all_respawn() -> void: + for i in _cached_respawn: + i._can_respawn = false diff --git a/_shared/RespawnManager.gd.uid b/_shared/RespawnManager.gd.uid new file mode 100644 index 0000000..0273da1 --- /dev/null +++ b/_shared/RespawnManager.gd.uid @@ -0,0 +1 @@ +uid://dwee6n1jgif8b diff --git a/_shared/global_event.gd b/_shared/global_event.gd index 3841eb7..d018a9d 100644 --- a/_shared/global_event.gd +++ b/_shared/global_event.gd @@ -1,6 +1,32 @@ extends Node -signal player_dead +signal player_dead(player: Player) -func boradcast_player_dead_event() -> void: - player_dead.emit() +var _cached_player_controller: PlayerController +var _cached_player: Player + +## player controller進入tree會注冊自己到Global +func register_player_controller(pc: PlayerController) -> PlayerController: + if not pc: return null + + _cached_player_controller = pc + return _cached_player_controller + +## player進入tree會注冊自己到Global +func register_player(player: Player) -> Player: + if not player: return null + + _cached_player = player + return _cached_player + +## 外部快速获取Player +func get_player() -> Player: + return _cached_player + +## 外部快速获取Player Controller +func get_player_controller() -> PlayerController: + return _cached_player_controller + +## 外部用于监听Player死亡 +func boradcast_player_dead_event(player:Player) -> void: + player_dead.emit(player) diff --git a/_shared/QuickTriggerConfig/player_entered_act_1.tres b/_shared/quick_scene_config/player_entered_act_1.tres similarity index 100% rename from _shared/QuickTriggerConfig/player_entered_act_1.tres rename to _shared/quick_scene_config/player_entered_act_1.tres diff --git a/_shared/QuickTriggerConfig/prop1_player_entered_act_1.tres b/_shared/quick_scene_config/prop1_player_entered_act_1.tres similarity index 100% rename from _shared/QuickTriggerConfig/prop1_player_entered_act_1.tres rename to _shared/quick_scene_config/prop1_player_entered_act_1.tres diff --git a/_tileset/test.tres b/_tileset/test.tres index 6a65c70..1e51035 100644 --- a/_tileset/test.tres +++ b/_tileset/test.tres @@ -12,10 +12,17 @@ texture = ExtResource("1_26tvm") 1:1/0 = 0 0:2/0 = 0 1:2/0 = 0 +2:0/0 = 0 +2:0/0/physics_layer_2/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, -3.0719662, -8, -3.0719662) +2:0/0/physics_layer_2/polygon_0/one_way = true +2:1/0 = 0 +2:2/0 = 0 [resource] physics_layer_0/collision_layer = 4 physics_layer_0/collision_mask = 0 physics_layer_1/collision_layer = 8 physics_layer_1/collision_mask = 0 +physics_layer_2/collision_layer = 32 +physics_layer_2/collision_mask = 0 sources/0 = SubResource("TileSetAtlasSource_s5wqu") diff --git a/addons/reedcomponent/grap_hook/garpping_hook_v2.tscn b/addons/reedcomponent/grap_hook/garpping_hook_v2.tscn index cef2596..21cb463 100644 --- a/addons/reedcomponent/grap_hook/garpping_hook_v2.tscn +++ b/addons/reedcomponent/grap_hook/garpping_hook_v2.tscn @@ -13,5 +13,5 @@ width = 8.0 [node name="RayCast2D" type="RayCast2D" parent="."] unique_name_in_owner = true target_position = Vector2(80, 0) -collision_mask = 4 +collision_mask = 36 collide_with_areas = true diff --git a/project.godot b/project.godot index 07c0c09..0d182cb 100644 --- a/project.godot +++ b/project.godot @@ -22,6 +22,7 @@ CameraSystem="*res://_shared/camera/CameraSystem.tscn" GlobalEvent="*res://_shared/global_event.gd" ReedVFX="*res://addons/reedfx/vfx/ReedVFXSystem.tscn" ReedSceneRegistry="*res://addons/reedscene/scene/SceneRegistry.gd" +RespawnManager="*res://_shared/RespawnManager.gd" [display] @@ -40,6 +41,7 @@ enabled=PackedStringArray("res://addons/phantom_camera/plugin.cfg", "res://addon ROOM="房间分组,其下存在所有的Room" PLAYER="玩家分组,其下只存在玩家控制器" GRAPABLE="" +PLAYER_RESPAWN="所有的PlayerRespawnPoint的绑定Group" [input] @@ -90,3 +92,4 @@ grap_hook={ 2d_physics/layer_3="Environment" 2d_physics/layer_4="Damage" 2d_physics/layer_5="Collectable" +2d_physics/layer_6="OneWayPlateform"