diff --git a/_game/game.gd b/_game/game.gd index fba57ae..d086ee9 100644 --- a/_game/game.gd +++ b/_game/game.gd @@ -9,6 +9,6 @@ func _ready() -> void: #$L1_S5.switch_act_by_id(1) #$L1_S6.switch_act_by_id(1) #$L1_S7.switch_act_by_id(1) - $L1_S8.switch_act_by_id(1) - + #$L1_S8.switch_act_by_id(1) + await get_tree().process_frame get_tree().call_group(&"PLAYER_RESPAWN",&"respawn_avatar") diff --git a/_scene/level1/l0_s0.tscn b/_scene/level1/l0_s0.tscn index 133f8a6..d229f61 100644 --- a/_scene/level1/l0_s0.tscn +++ b/_scene/level1/l0_s0.tscn @@ -1,15 +1,12 @@ -[gd_scene load_steps=43 format=4 uid="uid://sursemsbf1lg"] +[gd_scene load_steps=39 format=4 uid="uid://sursemsbf1lg"] [ext_resource type="Script" uid="uid://5e157vdk6175" path="res://addons/reedscene/scene/ReedScene.gd" id="1_oyljl"] [ext_resource type="Script" uid="uid://bh066o84byplh" path="res://addons/reedscene/scene/ReedSceneID.gd" id="2_ggwu1"] [ext_resource type="Script" uid="uid://dn0ksjoswquf5" path="res://addons/reedscene/scene/SceneManager.gd" id="3_7btev"] [ext_resource type="Script" uid="uid://ons77en82uls" path="res://addons/reedscene/scene/scene_trigger/base/SceneTrigger.gd" id="4_pkqns"] -[ext_resource type="Resource" uid="uid://gmaitie4ys4h" path="res://_shared/quick_scene_config/player_entered_act_1.tres" id="5_esfbf"] -[ext_resource type="Script" uid="uid://baamspwt4rm4r" path="res://addons/reedscene/scene/guard.gd" id="6_7btev"] +[ext_resource type="Resource" uid="uid://bym4pb0ellj7b" path="res://_scene/scene_trigger_resource/default_switch.tres" id="5_wiv8n"] [ext_resource type="Script" uid="uid://dsgl7lbyjsiif" path="res://addons/reedscene/act/ActManager.gd" id="7_mu7ca"] -[ext_resource type="Script" uid="uid://bprxx881tmhn8" path="res://addons/reedscene/scene/scene_trigger/PropIDSceneTrigger.gd" id="7_pkqns"] [ext_resource type="Script" uid="uid://fxpk2ot6otfh" path="res://addons/reedscene/act/Act.gd" id="8_0m4o0"] -[ext_resource type="Script" uid="uid://dxj5vimigc651" path="res://addons/reedscene/scene/scene_trigger/base/SceneTriggerEffectPair.gd" id="8_esfbf"] [ext_resource type="Script" uid="uid://baqgorvlumyju" path="res://addons/reedscene/act/SingleAct.gd" id="9_1oohu"] [ext_resource type="Script" uid="uid://pxjf5vst08eo" path="res://addons/reedscene/prop/PropManager.gd" id="10_g4f48"] [ext_resource type="PackedScene" uid="uid://bflwr7cryd2l0" path="res://_shared/camera/CameraAnchor.tscn" id="11_o5yb1"] @@ -27,11 +24,6 @@ [ext_resource type="Script" uid="uid://8cqs3i8sr8b1" path="res://addons/reedscene/prop/Effect/ETT_Owner.gd" id="23_5h6d2"] [ext_resource type="TileSet" uid="uid://doepkfp83k0lb" path="res://_tileset/test.tres" id="24_uiy5k"] -[sub_resource type="Resource" id="Resource_j5iwd"] -script = ExtResource("7_pkqns") -prop_id = 1 -metadata/_custom_type_script = "uid://bprxx881tmhn8" - [sub_resource type="Resource" id="Resource_hd3du"] script = ExtResource("9_1oohu") @@ -112,7 +104,7 @@ script = ExtResource("2_ggwu1") [node name="SceneManager" type="Node" parent="."] script = ExtResource("3_7btev") -quick_trigger = Array[ExtResource("4_pkqns")]([ExtResource("5_esfbf"), SubResource("Resource_j5iwd")]) +quick_trigger = Array[ExtResource("4_pkqns")]([ExtResource("5_wiv8n")]) [node name="ActManager" type="Node" parent="."] script = ExtResource("7_mu7ca") diff --git a/_scene/level1/l1_s1.tscn b/_scene/level1/l1_s1.tscn index 9306efb..9ea1c52 100644 --- a/_scene/level1/l1_s1.tscn +++ b/_scene/level1/l1_s1.tscn @@ -5,7 +5,7 @@ [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/scene_trigger/base/SceneTrigger.gd" id="4_wkfms"] -[ext_resource type="Resource" uid="uid://gmaitie4ys4h" path="res://_shared/quick_scene_config/player_entered_act_1.tres" id="5_rlimy"] +[ext_resource type="Resource" uid="uid://bym4pb0ellj7b" path="res://_scene/scene_trigger_resource/default_switch.tres" id="5_r0e2c"] [ext_resource type="Script" uid="uid://fxpk2ot6otfh" path="res://addons/reedscene/act/Act.gd" id="5_ubvm0"] [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"] @@ -104,7 +104,7 @@ script = ExtResource("2_wkfms") [node name="SceneManager" type="Node" parent="."] script = ExtResource("3_rlimy") -quick_trigger = Array[ExtResource("4_wkfms")]([ExtResource("5_rlimy")]) +quick_trigger = Array[ExtResource("4_wkfms")]([ExtResource("5_r0e2c")]) [node name="ActManager" type="Node" parent="."] script = ExtResource("4_bq6n3") diff --git a/_scene/level1/l1_s2.tscn b/_scene/level1/l1_s2.tscn index 56a80a2..8550b56 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/scene_trigger/base/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/quick_scene_config/player_entered_act_1.tres" id="5_qrebp"] +[ext_resource type="Resource" uid="uid://bym4pb0ellj7b" path="res://_scene/scene_trigger_resource/default_switch.tres" id="5_fdfto"] [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"] @@ -69,7 +69,7 @@ prop_state_map = Dictionary[int, ExtResource("6_agny0")]({ }) [sub_resource type="RectangleShape2D" id="RectangleShape2D_oupin"] -size = Vector2(859, 496) +size = Vector2(839, 476) [sub_resource type="Resource" id="Resource_ctwrc"] script = ExtResource("21_8ou3l") @@ -120,7 +120,7 @@ script = ExtResource("2_of0lw") [node name="SceneManager" type="Node" parent="."] script = ExtResource("3_32vl4") -quick_trigger = Array[ExtResource("4_qrebp")]([ExtResource("5_qrebp")]) +quick_trigger = Array[ExtResource("4_qrebp")]([ExtResource("5_fdfto")]) [node name="ActManager" type="Node" parent="."] script = ExtResource("4_10cyl") @@ -163,7 +163,8 @@ effects = Array[ExtResource("12_fmhh5")]([ExtResource("14_nnp13")]) position = Vector2(560, -480) [node name="CollisionShape2D" type="CollisionShape2D" parent="Props/PlayerTriggerVolumn"] -position = Vector2(-15.5, 8) +show_behind_parent = true +position = Vector2(-25.5, -2) shape = SubResource("RectangleShape2D_oupin") debug_color = Color(0.9025274, 0.3055279, 1.92523e-07, 0.41960785) diff --git a/_scene/level1/l1_s3.tscn b/_scene/level1/l1_s3.tscn index 6a44667..76ef885 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/scene_trigger/base/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://gmaitie4ys4h" path="res://_shared/quick_scene_config/player_entered_act_1.tres" id="5_td1yf"] +[ext_resource type="Resource" uid="uid://bym4pb0ellj7b" path="res://_scene/scene_trigger_resource/default_switch.tres" id="5_td1yf"] [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"] @@ -65,7 +65,7 @@ prop_state_map = Dictionary[int, ExtResource("6_td1yf")]({ }) [sub_resource type="RectangleShape2D" id="RectangleShape2D_oupin"] -size = Vector2(828, 480) +size = Vector2(800, 480) [sub_resource type="Resource" id="Resource_ctwrc"] script = ExtResource("21_pawhc") diff --git a/_scene/level1/l1_s4.tscn b/_scene/level1/l1_s4.tscn index 40317f8..6bb9e70 100644 --- a/_scene/level1/l1_s4.tscn +++ b/_scene/level1/l1_s4.tscn @@ -7,7 +7,7 @@ [ext_resource type="Script" uid="uid://ons77en82uls" path="res://addons/reedscene/scene/scene_trigger/base/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/quick_scene_config/player_entered_act_1.tres" id="5_sv1n5"] +[ext_resource type="Resource" uid="uid://bym4pb0ellj7b" path="res://_scene/scene_trigger_resource/default_switch.tres" id="5_x87uk"] [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"] @@ -124,7 +124,7 @@ script = ExtResource("2_huisa") [node name="SceneManager" type="Node" parent="."] script = ExtResource("3_6bhoi") -quick_trigger = Array[ExtResource("4_sv1n5")]([ExtResource("5_sv1n5")]) +quick_trigger = Array[ExtResource("4_sv1n5")]([ExtResource("5_x87uk")]) [node name="ActManager" type="Node" parent="."] script = ExtResource("4_dnt6f") diff --git a/_scene/level1/l1_s5.tscn b/_scene/level1/l1_s5.tscn index 38b9761..0fa805a 100644 --- a/_scene/level1/l1_s5.tscn +++ b/_scene/level1/l1_s5.tscn @@ -4,7 +4,7 @@ [ext_resource type="Script" uid="uid://bh066o84byplh" path="res://addons/reedscene/scene/ReedSceneID.gd" id="2_tts1w"] [ext_resource type="Script" uid="uid://dn0ksjoswquf5" path="res://addons/reedscene/scene/SceneManager.gd" id="3_dascw"] [ext_resource type="Script" uid="uid://ons77en82uls" path="res://addons/reedscene/scene/scene_trigger/base/SceneTrigger.gd" id="4_pfh14"] -[ext_resource type="Resource" uid="uid://gmaitie4ys4h" path="res://_shared/quick_scene_config/player_entered_act_1.tres" id="5_dalgl"] +[ext_resource type="Resource" uid="uid://bym4pb0ellj7b" path="res://_scene/scene_trigger_resource/default_switch.tres" id="5_c6mvs"] [ext_resource type="Script" uid="uid://dsgl7lbyjsiif" path="res://addons/reedscene/act/ActManager.gd" id="6_ymq84"] [ext_resource type="Script" uid="uid://fxpk2ot6otfh" path="res://addons/reedscene/act/Act.gd" id="7_c6mvs"] [ext_resource type="Script" uid="uid://baqgorvlumyju" path="res://addons/reedscene/act/SingleAct.gd" id="8_ug4by"] @@ -124,7 +124,7 @@ script = ExtResource("2_tts1w") [node name="SceneManager" type="Node" parent="."] script = ExtResource("3_dascw") -quick_trigger = Array[ExtResource("4_pfh14")]([ExtResource("5_dalgl")]) +quick_trigger = Array[ExtResource("4_pfh14")]([ExtResource("5_c6mvs")]) [node name="ActManager" type="Node" parent="."] script = ExtResource("6_ymq84") diff --git a/_scene/level1/l1_s6.tscn b/_scene/level1/l1_s6.tscn index ca09143..f677dd9 100644 --- a/_scene/level1/l1_s6.tscn +++ b/_scene/level1/l1_s6.tscn @@ -4,7 +4,7 @@ [ext_resource type="Script" uid="uid://bh066o84byplh" path="res://addons/reedscene/scene/ReedSceneID.gd" id="2_txt12"] [ext_resource type="Script" uid="uid://dn0ksjoswquf5" path="res://addons/reedscene/scene/SceneManager.gd" id="3_1w7i6"] [ext_resource type="Script" uid="uid://ons77en82uls" path="res://addons/reedscene/scene/scene_trigger/base/SceneTrigger.gd" id="4_gnhi3"] -[ext_resource type="Resource" uid="uid://gmaitie4ys4h" path="res://_shared/quick_scene_config/player_entered_act_1.tres" id="5_qcumk"] +[ext_resource type="Resource" uid="uid://bym4pb0ellj7b" path="res://_scene/scene_trigger_resource/default_switch.tres" id="5_gnhi3"] [ext_resource type="Script" uid="uid://dsgl7lbyjsiif" path="res://addons/reedscene/act/ActManager.gd" id="6_nokqb"] [ext_resource type="Script" uid="uid://fxpk2ot6otfh" path="res://addons/reedscene/act/Act.gd" id="7_u3uxu"] [ext_resource type="Script" uid="uid://baqgorvlumyju" path="res://addons/reedscene/act/SingleAct.gd" id="8_n5ng2"] @@ -124,7 +124,7 @@ script = ExtResource("2_txt12") [node name="SceneManager" type="Node" parent="."] script = ExtResource("3_1w7i6") -quick_trigger = Array[ExtResource("4_gnhi3")]([ExtResource("5_qcumk")]) +quick_trigger = Array[ExtResource("4_gnhi3")]([ExtResource("5_gnhi3")]) [node name="ActManager" type="Node" parent="."] script = ExtResource("6_nokqb") diff --git a/_scene/level1/l1_s7.tscn b/_scene/level1/l1_s7.tscn index c4b5dad..7f4cc45 100644 --- a/_scene/level1/l1_s7.tscn +++ b/_scene/level1/l1_s7.tscn @@ -4,7 +4,7 @@ [ext_resource type="Script" uid="uid://bh066o84byplh" path="res://addons/reedscene/scene/ReedSceneID.gd" id="2_txt12"] [ext_resource type="Script" uid="uid://dn0ksjoswquf5" path="res://addons/reedscene/scene/SceneManager.gd" id="3_1w7i6"] [ext_resource type="Script" uid="uid://ons77en82uls" path="res://addons/reedscene/scene/scene_trigger/base/SceneTrigger.gd" id="4_gnhi3"] -[ext_resource type="Resource" uid="uid://gmaitie4ys4h" path="res://_shared/quick_scene_config/player_entered_act_1.tres" id="5_qcumk"] +[ext_resource type="Resource" uid="uid://bym4pb0ellj7b" path="res://_scene/scene_trigger_resource/default_switch.tres" id="5_mxp7a"] [ext_resource type="Script" uid="uid://dsgl7lbyjsiif" path="res://addons/reedscene/act/ActManager.gd" id="6_nokqb"] [ext_resource type="Script" uid="uid://fxpk2ot6otfh" path="res://addons/reedscene/act/Act.gd" id="7_u3uxu"] [ext_resource type="Script" uid="uid://baqgorvlumyju" path="res://addons/reedscene/act/SingleAct.gd" id="8_n5ng2"] @@ -130,7 +130,7 @@ script = ExtResource("2_txt12") [node name="SceneManager" type="Node" parent="."] script = ExtResource("3_1w7i6") -quick_trigger = Array[ExtResource("4_gnhi3")]([ExtResource("5_qcumk")]) +quick_trigger = Array[ExtResource("4_gnhi3")]([ExtResource("5_mxp7a")]) [node name="ActManager" type="Node" parent="."] script = ExtResource("6_nokqb") diff --git a/_scene/level1/l1_s8.tscn b/_scene/level1/l1_s8.tscn index 4c2cc4d..3a9e9a4 100644 --- a/_scene/level1/l1_s8.tscn +++ b/_scene/level1/l1_s8.tscn @@ -3,8 +3,8 @@ [ext_resource type="Script" uid="uid://5e157vdk6175" path="res://addons/reedscene/scene/ReedScene.gd" id="1_h5hd7"] [ext_resource type="Script" uid="uid://bh066o84byplh" path="res://addons/reedscene/scene/ReedSceneID.gd" id="2_s1dia"] [ext_resource type="Script" uid="uid://dn0ksjoswquf5" path="res://addons/reedscene/scene/SceneManager.gd" id="3_v2x74"] -[ext_resource type="Script" uid="uid://ons77en82uls" path="res://addons/reedscene/scene/SceneTrigger.gd" id="4_8ob7b"] -[ext_resource type="Resource" uid="uid://gmaitie4ys4h" path="res://_shared/quick_scene_config/player_entered_act_1.tres" id="5_tstpw"] +[ext_resource type="Script" uid="uid://ons77en82uls" path="res://addons/reedscene/scene/scene_trigger/base/SceneTrigger.gd" id="4_8ob7b"] +[ext_resource type="Resource" uid="uid://bym4pb0ellj7b" path="res://_scene/scene_trigger_resource/default_switch.tres" id="5_v3u1d"] [ext_resource type="Script" uid="uid://dsgl7lbyjsiif" path="res://addons/reedscene/act/ActManager.gd" id="6_lwjpo"] [ext_resource type="Script" uid="uid://fxpk2ot6otfh" path="res://addons/reedscene/act/Act.gd" id="7_o10qt"] [ext_resource type="Script" uid="uid://baqgorvlumyju" path="res://addons/reedscene/act/SingleAct.gd" id="8_nkrpp"] @@ -111,7 +111,7 @@ script = ExtResource("2_s1dia") [node name="SceneManager" type="Node" parent="."] script = ExtResource("3_v2x74") -quick_trigger = Array[ExtResource("4_8ob7b")]([ExtResource("5_tstpw")]) +quick_trigger = Array[ExtResource("4_8ob7b")]([ExtResource("5_v3u1d")]) [node name="ActManager" type="Node" parent="."] script = ExtResource("6_lwjpo") diff --git a/_scene/scene_trigger_resource/default_switch.tres b/_scene/scene_trigger_resource/default_switch.tres new file mode 100644 index 0000000..1e18f5d --- /dev/null +++ b/_scene/scene_trigger_resource/default_switch.tres @@ -0,0 +1,54 @@ +[gd_resource type="Resource" script_class="SceneTrigger" load_steps=16 format=3 uid="uid://bym4pb0ellj7b"] + +[ext_resource type="Script" uid="uid://baamspwt4rm4r" path="res://addons/reedscene/scene/guard.gd" id="1_ebfhi"] +[ext_resource type="Script" uid="uid://ons77en82uls" path="res://addons/reedscene/scene/scene_trigger/base/SceneTrigger.gd" id="2_cq8o1"] +[ext_resource type="Script" uid="uid://dxj5vimigc651" path="res://addons/reedscene/scene/scene_trigger/base/SceneTriggerEffectPair.gd" id="3_m0qh3"] +[ext_resource type="Script" uid="uid://b1bgmb71bapws" path="res://addons/reedscene/scene/scene_trigger/base/SceneTriggerEffect.gd" id="4_g7ixm"] +[ext_resource type="Script" uid="uid://bjstkg23cq6vq" path="res://addons/reedscene/scene/scene_trigger/STE_SwitchAct.gd" id="5_m44nk"] +[ext_resource type="Script" uid="uid://c8qq8400vebpg" path="res://addons/reedscene/scene/scene_trigger/STT_Self.gd" id="6_qb8kc"] +[ext_resource type="Script" uid="uid://dcn3k2vc6on0c" path="res://addons/reedscene/scene/scene_trigger/STT_Tree.gd" id="7_547il"] +[ext_resource type="Script" uid="uid://cdprpen0jyr6d" path="res://addons/reedscene/scene/scene_trigger/STR_NodePath.gd" id="8_kur88"] + +[sub_resource type="Resource" id="Resource_yc616"] +script = ExtResource("5_m44nk") +func_name = &"call_group" +func_args = [&"REED_SCENE", &"reset_to_default_act"] +metadata/_custom_type_script = "uid://bjstkg23cq6vq" + +[sub_resource type="Resource" id="Resource_gexol"] +script = ExtResource("7_547il") +metadata/_custom_type_script = "uid://dcn3k2vc6on0c" + +[sub_resource type="Resource" id="Resource_vv5v7"] +script = ExtResource("3_m0qh3") +target = SubResource("Resource_gexol") +effect = Array[ExtResource("4_g7ixm")]([SubResource("Resource_yc616")]) +metadata/_custom_type_script = "uid://dxj5vimigc651" + +[sub_resource type="Resource" id="Resource_jd40h"] +script = ExtResource("5_m44nk") +func_name = &"switch_act_with_id" +func_args = [1] +metadata/_custom_type_script = "uid://bjstkg23cq6vq" + +[sub_resource type="Resource" id="Resource_kdh4c"] +script = ExtResource("6_qb8kc") +metadata/_custom_type_script = "uid://c8qq8400vebpg" + +[sub_resource type="Resource" id="Resource_ig5jt"] +script = ExtResource("3_m0qh3") +target = SubResource("Resource_kdh4c") +effect = Array[ExtResource("4_g7ixm")]([SubResource("Resource_jd40h")]) +metadata/_custom_type_script = "uid://dxj5vimigc651" + +[sub_resource type="Resource" id="Resource_8u4ru"] +script = ExtResource("8_kur88") +node_path = NodePath("../Props/PlayerTriggerVolumn") +monitor_signal = &"player_entered" +metadata/_custom_type_script = "uid://cdprpen0jyr6d" + +[resource] +script = ExtResource("2_cq8o1") +trigger_register_conifg = SubResource("Resource_8u4ru") +trigger_effect_pairs = Array[ExtResource("3_m0qh3")]([SubResource("Resource_vv5v7"), SubResource("Resource_ig5jt")]) +metadata/_custom_type_script = "uid://ons77en82uls" diff --git a/_shared/quick_scene_config/player_entered_act_1.tres b/_shared/quick_scene_config/player_entered_act_1.tres deleted file mode 100644 index c79cba9..0000000 --- a/_shared/quick_scene_config/player_entered_act_1.tres +++ /dev/null @@ -1,38 +0,0 @@ -[gd_resource type="Resource" script_class="NodePathSceneTrigger" load_steps=12 format=3 uid="uid://gmaitie4ys4h"] - -[ext_resource type="Script" uid="uid://b1bgmb71bapws" path="res://addons/reedscene/scene/scene_trigger/base/SceneTriggerEffect.gd" id="1_35f6h"] -[ext_resource type="Script" uid="uid://baamspwt4rm4r" path="res://addons/reedscene/scene/guard.gd" id="1_idvg7"] -[ext_resource type="Script" uid="uid://dxj5vimigc651" path="res://addons/reedscene/scene/scene_trigger/base/SceneTriggerEffectPair.gd" id="3_ad8dv"] -[ext_resource type="Script" uid="uid://cvtkkcio4eeod" path="res://addons/reedscene/scene/scene_trigger/NodePathSceneTrigger.gd" id="3_ieluj"] -[ext_resource type="Script" uid="uid://cdprpen0jyr6d" path="res://addons/reedscene/scene/scene_trigger/STR_NodePath.gd" id="4_x2vyj"] -[ext_resource type="Script" uid="uid://bjstkg23cq6vq" path="res://addons/reedscene/scene/scene_trigger/STE_SwitchAct.gd" id="5_p6nbk"] -[ext_resource type="Script" uid="uid://c8qq8400vebpg" path="res://addons/reedscene/scene/scene_trigger/STT_Self.gd" id="6_p7kla"] - -[sub_resource type="Resource" id="Resource_0he72"] -script = ExtResource("5_p6nbk") -func_name = &"switch_act_with_id" -func_args = [1] -metadata/_custom_type_script = "uid://bjstkg23cq6vq" - -[sub_resource type="Resource" id="Resource_1cpnw"] -script = ExtResource("6_p7kla") -metadata/_custom_type_script = "uid://c8qq8400vebpg" - -[sub_resource type="Resource" id="Resource_du6w3"] -script = ExtResource("3_ad8dv") -target = SubResource("Resource_1cpnw") -effect = Array[ExtResource("1_35f6h")]([SubResource("Resource_0he72")]) -metadata/_custom_type_script = "uid://dxj5vimigc651" - -[sub_resource type="Resource" id="Resource_p6nbk"] -script = ExtResource("4_x2vyj") -node_path = NodePath("../Props/PlayerTriggerVolumn") -monitor_signal = &"player_entered" -metadata/_custom_type_script = "uid://cdprpen0jyr6d" - -[resource] -script = ExtResource("3_ieluj") -path = NodePath("../Props/PlayerTriggerVolumn") -trigger_register_conifg = SubResource("Resource_p6nbk") -trigger_effect_pairs = Array[ExtResource("3_ad8dv")]([SubResource("Resource_du6w3")]) -metadata/_custom_type_script = "uid://cvtkkcio4eeod" diff --git a/addons/limboai/bin/~liblimboai.windows.editor.x86_64.dll b/addons/limboai/bin/~liblimboai.windows.editor.x86_64.dll deleted file mode 100644 index 7131bab..0000000 Binary files a/addons/limboai/bin/~liblimboai.windows.editor.x86_64.dll and /dev/null differ diff --git a/addons/reedscene/act/ActManager.gd b/addons/reedscene/act/ActManager.gd index df55fac..3023f8e 100644 --- a/addons/reedscene/act/ActManager.gd +++ b/addons/reedscene/act/ActManager.gd @@ -24,6 +24,12 @@ var _gen_empty_act: Callable = Callable(self, "_editor_generate_empty_act") var _current_act: Act = null var _current_act_id: int = -1 +## 我们认为,act无论在一帧里做多少次切换,实际可以被应用的只有最后一次。 +var _pending_act_id: int = -1 +var _pending_trans_overwrite: int = 0 +var _commit_scheduled: bool = false + + const DEFAULT_ACT_ID:int = 0 signal act_changed(from_act_id: int, to_act_id: int) @@ -31,6 +37,22 @@ signal act_changed(from_act_id: int, to_act_id: int) func _ready() -> void: pass +## 缓存act的change +func _commit_pending_act() -> void: + _commit_scheduled = false + + if _pending_act_id == -1: + return + + if _pending_act_id == _current_act_id: + return + + var act := prop_state_map.get(_pending_act_id) + if act == null: + return + + _switch_act_internal(act, _pending_act_id, _pending_trans_overwrite) + ##通过ID切换act ## 如果trans overwrite = 0,则使用act上自己配置的use trans ## 如果trans overwrite = 1,则全部禁用use trans @@ -40,8 +62,19 @@ func switch_act_with_id(act_id: int,trans_overwrite: int = 0) -> void: push_warning("[ActManager] Act id not found: %d" % act_id) return - var act := prop_state_map[act_id] - _switch_act_internal(act, act_id,trans_overwrite) + # 只记录请求,不立刻执行 + _pending_act_id = act_id + _pending_trans_overwrite = trans_overwrite + + if not _commit_scheduled: + _commit_scheduled = true + call_deferred("_commit_pending_act") + #if not prop_state_map.has(act_id): + #push_warning("[ActManager] Act id not found: %d" % act_id) + #return +# + #var act := prop_state_map[act_id] + #_switch_act_internal(act, act_id,trans_overwrite) ##内部通过ID和Act来切换状态 func _switch_act_internal(act: Act, act_id: int, trans_overwrite: int = 0) -> void: diff --git a/addons/reedscene/prop/Effect/ETT_Tree.gd b/addons/reedscene/prop/Effect/ETT_Tree.gd index a5f0daf..a3cb119 100644 --- a/addons/reedscene/prop/Effect/ETT_Tree.gd +++ b/addons/reedscene/prop/Effect/ETT_Tree.gd @@ -1,4 +1,4 @@ -class_name ETT_Tree extends EffectTargetTypes +class_name ETT_Tree extends EffectTargetType func get_effect_target(owner: Node, prop_comp: Node) -> Object: return owner.get_tree() diff --git a/addons/reedscene/scene/SceneManager.gd b/addons/reedscene/scene/SceneManager.gd index 03b6b3b..a4ce4b0 100644 --- a/addons/reedscene/scene/SceneManager.gd +++ b/addons/reedscene/scene/SceneManager.gd @@ -59,43 +59,43 @@ func _bind_quick_trigger() -> void: #elif qt is NodePathSceneTrigger: #_bind_node_path_trigger(qt) -## 通过Prop id来绑定signal -func _bind_prop_id_trigger(trigger: PropIDSceneTrigger) -> void: - var prop : Node = _props.get(trigger.prop_id).get_parent() - if prop == null: - return - - var s: StringName = trigger.monitor_signal - if not prop.has_signal(s): - push_error("Prop has no signal: %s" % trigger.monitor_signal) - return - - prop.connect( - trigger.monitor_signal, - func(...args): - _on_trigger_fired(trigger, args) - ) - -## 通过NodePath来绑定signal -func _bind_node_path_trigger(trigger: NodePathSceneTrigger) -> void: - if trigger.path.is_empty(): - return - - var n : Node = self.get_node_or_null(trigger.path) - - if n == null: - return - - var s: StringName = trigger.monitor_signal - if not n.has_signal(s): - push_error("Prop has no signal: %s" % trigger.monitor_signal) - return - - n.connect( - trigger.monitor_signal, - func(...args): - _on_trigger_fired(trigger, args) - ) +### 通过Prop id来绑定signal +#func _bind_prop_id_trigger(trigger: PropIDSceneTrigger) -> void: + #var prop : Node = _props.get(trigger.prop_id).get_parent() + #if prop == null: + #return +# + #var s: StringName = trigger.monitor_signal + #if not prop.has_signal(s): + #push_error("Prop has no signal: %s" % trigger.monitor_signal) + #return +# + #prop.connect( + #trigger.monitor_signal, + #func(...args): + #_on_trigger_fired(trigger, args) + #) +# +### 通过NodePath来绑定signal +#func _bind_node_path_trigger(trigger: NodePathSceneTrigger) -> void: + #if trigger.path.is_empty(): + #return + # + #var n : Node = self.get_node_or_null(trigger.path) + # + #if n == null: + #return +# + #var s: StringName = trigger.monitor_signal + #if not n.has_signal(s): + #push_error("Prop has no signal: %s" % trigger.monitor_signal) + #return +# + #n.connect( + #trigger.monitor_signal, + #func(...args): + #_on_trigger_fired(trigger, args) + #) ## 当信号触发 func _on_trigger_fired(trigger: SceneTrigger, signal_args: Array) -> void: @@ -114,7 +114,7 @@ func _on_trigger_fired(trigger: SceneTrigger, signal_args: Array) -> void: var exs := sp.effect for j in exs: var ex := j as SceneTriggerEffect - ex.apply_effect(self) + ex.apply_effect(t) #var target_act_id: int = trigger.target_act_id #var trans_overwrite: int = trigger.trans_overwrite # diff --git a/addons/reedscene/scene/scene_trigger/NodePathSceneTrigger.gd b/addons/reedscene/scene/scene_trigger/NodePathSceneTrigger.gd deleted file mode 100644 index de4ecfa..0000000 --- a/addons/reedscene/scene/scene_trigger/NodePathSceneTrigger.gd +++ /dev/null @@ -1,3 +0,0 @@ -class_name NodePathSceneTrigger extends SceneTrigger - -@export var path: NodePath diff --git a/addons/reedscene/scene/scene_trigger/NodePathSceneTrigger.gd.uid b/addons/reedscene/scene/scene_trigger/NodePathSceneTrigger.gd.uid deleted file mode 100644 index cb82603..0000000 --- a/addons/reedscene/scene/scene_trigger/NodePathSceneTrigger.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cvtkkcio4eeod diff --git a/addons/reedscene/scene/scene_trigger/PropIDSceneTrigger.gd b/addons/reedscene/scene/scene_trigger/PropIDSceneTrigger.gd deleted file mode 100644 index 2eae322..0000000 --- a/addons/reedscene/scene/scene_trigger/PropIDSceneTrigger.gd +++ /dev/null @@ -1,3 +0,0 @@ -class_name PropIDSceneTrigger extends SceneTrigger - -@export var prop_id: int diff --git a/addons/reedscene/scene/scene_trigger/PropIDSceneTrigger.gd.uid b/addons/reedscene/scene/scene_trigger/PropIDSceneTrigger.gd.uid deleted file mode 100644 index 0716974..0000000 --- a/addons/reedscene/scene/scene_trigger/PropIDSceneTrigger.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bprxx881tmhn8 diff --git a/addons/reedscene/scene/scene_trigger/STT_Tree.gd b/addons/reedscene/scene/scene_trigger/STT_Tree.gd new file mode 100644 index 0000000..65b0b64 --- /dev/null +++ b/addons/reedscene/scene/scene_trigger/STT_Tree.gd @@ -0,0 +1,6 @@ +class_name STT_Tree extends SceneTriggerTarget + +func get_effect_target(owner: Node) -> Object: + if owner: + return owner.get_tree() + return null diff --git a/addons/reedscene/scene/scene_trigger/STT_Tree.gd.uid b/addons/reedscene/scene/scene_trigger/STT_Tree.gd.uid new file mode 100644 index 0000000..b3726f3 --- /dev/null +++ b/addons/reedscene/scene/scene_trigger/STT_Tree.gd.uid @@ -0,0 +1 @@ +uid://dcn3k2vc6on0c diff --git a/addons/reedscene/scene/scene_trigger/base/SceneTrigger.gd b/addons/reedscene/scene/scene_trigger/base/SceneTrigger.gd index dddf8d4..ca3e191 100644 --- a/addons/reedscene/scene/scene_trigger/base/SceneTrigger.gd +++ b/addons/reedscene/scene/scene_trigger/base/SceneTrigger.gd @@ -1,4 +1,3 @@ -@abstract class_name SceneTrigger extends Resource ##绑定哪个Node的哪个函数作为此Trigger的Register。