添加全新的Effect配置方式
This commit is contained in:
parent
d296b96d9b
commit
864965b3de
|
|
@ -13,9 +13,9 @@
|
||||||
[ext_resource type="Script" uid="uid://7lml6d1t5xtq" path="res://addons/reedscene/prop/PropState.gd" id="9_648qh"]
|
[ext_resource type="Script" uid="uid://7lml6d1t5xtq" path="res://addons/reedscene/prop/PropState.gd" id="9_648qh"]
|
||||||
[ext_resource type="PackedScene" uid="uid://1l06de041i40" path="res://_levels/l_level_1.tscn" id="10_25twt"]
|
[ext_resource type="PackedScene" uid="uid://1l06de041i40" path="res://_levels/l_level_1.tscn" id="10_25twt"]
|
||||||
[ext_resource type="PackedScene" uid="uid://c3mievyfhx6ni" path="res://_props/coin/coin.tscn" id="11_1t0dx"]
|
[ext_resource type="PackedScene" uid="uid://c3mievyfhx6ni" path="res://_props/coin/coin.tscn" id="11_1t0dx"]
|
||||||
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/ReedPropEffect.gd" id="12_fyfyw"]
|
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/Effect/ReedPropEffect.gd" id="12_fyfyw"]
|
||||||
[ext_resource type="Script" uid="uid://jeybblac0kg2" path="res://addons/reedscene/prop/ReedTransition.gd" id="13_8hwae"]
|
[ext_resource type="Script" uid="uid://jeybblac0kg2" path="res://addons/reedscene/prop/ReedTransition.gd" id="13_8hwae"]
|
||||||
[ext_resource type="PackedScene" uid="uid://mi4omkkocmc0" path="res://_props/_prefabs/camera/scene_static_camera.tscn" id="14_s6kod"]
|
[ext_resource type="PackedScene" uid="uid://b0xmcb5i4jey" path="res://_props/_prefabs/camera/scene_static_camera.tscn" id="14_s6kod"]
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_s6kod"]
|
[sub_resource type="Resource" id="Resource_s6kod"]
|
||||||
script = ExtResource("6_fyfyw")
|
script = ExtResource("6_fyfyw")
|
||||||
|
|
|
||||||
|
|
@ -13,9 +13,9 @@
|
||||||
[ext_resource type="Script" uid="uid://7lml6d1t5xtq" path="res://addons/reedscene/prop/PropState.gd" id="9_meuxg"]
|
[ext_resource type="Script" uid="uid://7lml6d1t5xtq" path="res://addons/reedscene/prop/PropState.gd" id="9_meuxg"]
|
||||||
[ext_resource type="PackedScene" uid="uid://1l06de041i40" path="res://_levels/l_level_1.tscn" id="10_xs4uh"]
|
[ext_resource type="PackedScene" uid="uid://1l06de041i40" path="res://_levels/l_level_1.tscn" id="10_xs4uh"]
|
||||||
[ext_resource type="PackedScene" uid="uid://c3mievyfhx6ni" path="res://_props/coin/coin.tscn" id="11_61x7c"]
|
[ext_resource type="PackedScene" uid="uid://c3mievyfhx6ni" path="res://_props/coin/coin.tscn" id="11_61x7c"]
|
||||||
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/ReedPropEffect.gd" id="12_jhhb1"]
|
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/Effect/ReedPropEffect.gd" id="12_jhhb1"]
|
||||||
[ext_resource type="Script" uid="uid://jeybblac0kg2" path="res://addons/reedscene/prop/ReedTransition.gd" id="13_5navl"]
|
[ext_resource type="Script" uid="uid://jeybblac0kg2" path="res://addons/reedscene/prop/ReedTransition.gd" id="13_5navl"]
|
||||||
[ext_resource type="PackedScene" uid="uid://mi4omkkocmc0" path="res://_props/_prefabs/camera/scene_static_camera.tscn" id="14_5navl"]
|
[ext_resource type="PackedScene" uid="uid://b0xmcb5i4jey" path="res://_props/_prefabs/camera/scene_static_camera.tscn" id="14_5navl"]
|
||||||
[ext_resource type="Resource" uid="uid://bm0iyvgqfrqoj" path="res://_props/_prefabs/camera/change_room_tween.tres" id="15_meuxg"]
|
[ext_resource type="Resource" uid="uid://bm0iyvgqfrqoj" path="res://_props/_prefabs/camera/change_room_tween.tres" id="15_meuxg"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bonrls3iuhdqb" path="res://_props/_prefabs/player/player_trigger_volumn.tscn" id="17_tr4o2"]
|
[ext_resource type="PackedScene" uid="uid://bonrls3iuhdqb" path="res://_props/_prefabs/player/player_trigger_volumn.tscn" id="17_tr4o2"]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
[ext_resource type="Script" uid="uid://b4menkyub4ce7" path="res://addons/reedscene/prop/PropComponent.gd" id="8_ol4mv"]
|
[ext_resource type="Script" uid="uid://b4menkyub4ce7" path="res://addons/reedscene/prop/PropComponent.gd" id="8_ol4mv"]
|
||||||
[ext_resource type="Script" uid="uid://di41kt2tj34c2" path="res://addons/reedscene/prop/StateManager.gd" id="9_y37js"]
|
[ext_resource type="Script" uid="uid://di41kt2tj34c2" path="res://addons/reedscene/prop/StateManager.gd" id="9_y37js"]
|
||||||
[ext_resource type="Script" uid="uid://7lml6d1t5xtq" path="res://addons/reedscene/prop/PropState.gd" id="10_p6otn"]
|
[ext_resource type="Script" uid="uid://7lml6d1t5xtq" path="res://addons/reedscene/prop/PropState.gd" id="10_p6otn"]
|
||||||
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/ReedPropEffect.gd" id="10_ufowh"]
|
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/Effect/ReedPropEffect.gd" id="10_ufowh"]
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_2ccxp"]
|
[sub_resource type="Resource" id="Resource_2ccxp"]
|
||||||
script = ExtResource("6_p6otn")
|
script = ExtResource("6_p6otn")
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,19 @@
|
||||||
[gd_resource type="Resource" script_class="ReedPropEffect" load_steps=2 format=3 uid="uid://bjjxh7g7iosla"]
|
[gd_resource type="Resource" script_class="ReedPropEffect" load_steps=6 format=3 uid="uid://bjjxh7g7iosla"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/ReedPropEffect.gd" id="1_828o8"]
|
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/Effect/ReedPropEffect.gd" id="1_4meba"]
|
||||||
|
[ext_resource type="Script" uid="uid://bf1qlvdbf8qdp" path="res://addons/reedscene/prop/Effect/EAT_CallFunc.gd" id="1_qrdf4"]
|
||||||
|
[ext_resource type="Script" uid="uid://8cqs3i8sr8b1" path="res://addons/reedscene/prop/Effect/ETT_Owner.gd" id="2_3vtsp"]
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_hrmrk"]
|
||||||
|
script = ExtResource("1_qrdf4")
|
||||||
|
func_name = &"pop_camera"
|
||||||
|
metadata/_custom_type_script = "uid://bf1qlvdbf8qdp"
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_1l138"]
|
||||||
|
script = ExtResource("2_3vtsp")
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
script = ExtResource("1_828o8")
|
script = ExtResource("1_4meba")
|
||||||
effect_type = 1
|
effect_target_type = SubResource("Resource_1l138")
|
||||||
value = null
|
effect_apply_type = SubResource("Resource_hrmrk")
|
||||||
func_name = &"pop_camera"
|
|
||||||
metadata/_custom_type_script = "uid://cdvgq0xqdbagk"
|
metadata/_custom_type_script = "uid://cdvgq0xqdbagk"
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,19 @@
|
||||||
[gd_resource type="Resource" script_class="ReedPropEffect" load_steps=2 format=3 uid="uid://458r8rf7x02p"]
|
[gd_resource type="Resource" script_class="ReedPropEffect" load_steps=6 format=3 uid="uid://458r8rf7x02p"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/ReedPropEffect.gd" id="1_87nse"]
|
[ext_resource type="Script" uid="uid://bf1qlvdbf8qdp" path="res://addons/reedscene/prop/Effect/EAT_CallFunc.gd" id="1_lgnrf"]
|
||||||
|
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/Effect/ReedPropEffect.gd" id="2_lgnrf"]
|
||||||
|
[ext_resource type="Script" uid="uid://8cqs3i8sr8b1" path="res://addons/reedscene/prop/Effect/ETT_Owner.gd" id="2_uvouv"]
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_uvouv"]
|
||||||
|
script = ExtResource("1_lgnrf")
|
||||||
|
func_name = &"push_camera"
|
||||||
|
metadata/_custom_type_script = "uid://bf1qlvdbf8qdp"
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_23e2i"]
|
||||||
|
script = ExtResource("2_uvouv")
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
script = ExtResource("1_87nse")
|
script = ExtResource("2_lgnrf")
|
||||||
effect_type = 1
|
effect_target_type = SubResource("Resource_23e2i")
|
||||||
value = null
|
effect_apply_type = SubResource("Resource_uvouv")
|
||||||
func_name = &"push_camera"
|
|
||||||
metadata/_custom_type_script = "uid://cdvgq0xqdbagk"
|
metadata/_custom_type_script = "uid://cdvgq0xqdbagk"
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,20 @@
|
||||||
[gd_resource type="Resource" script_class="ReedPropEffect" load_steps=2 format=3 uid="uid://dd4df6yjkeifa"]
|
[gd_resource type="Resource" script_class="ReedPropEffect" load_steps=6 format=3 uid="uid://dd4df6yjkeifa"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/ReedPropEffect.gd" id="1_bxu3h"]
|
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/Effect/ReedPropEffect.gd" id="1_bxu3h"]
|
||||||
|
[ext_resource type="Script" uid="uid://bf1qlvdbf8qdp" path="res://addons/reedscene/prop/Effect/EAT_CallFunc.gd" id="1_y2h7j"]
|
||||||
|
[ext_resource type="Script" uid="uid://8cqs3i8sr8b1" path="res://addons/reedscene/prop/Effect/ETT_Owner.gd" id="2_5kgl2"]
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_u8qhm"]
|
||||||
|
script = ExtResource("1_y2h7j")
|
||||||
|
func_name = &"call_deferred"
|
||||||
|
func_args = [&"set_monitoring", false]
|
||||||
|
metadata/_custom_type_script = "uid://bf1qlvdbf8qdp"
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_j4eed"]
|
||||||
|
script = ExtResource("2_5kgl2")
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
script = ExtResource("1_bxu3h")
|
script = ExtResource("1_bxu3h")
|
||||||
effect_type = 1
|
effect_target_type = SubResource("Resource_j4eed")
|
||||||
value = null
|
effect_apply_type = SubResource("Resource_u8qhm")
|
||||||
func_name = &"set_defer"
|
|
||||||
func_args = [&"monitoring", false]
|
|
||||||
metadata/_custom_type_script = "uid://cdvgq0xqdbagk"
|
metadata/_custom_type_script = "uid://cdvgq0xqdbagk"
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,20 @@
|
||||||
[gd_resource type="Resource" script_class="ReedPropEffect" load_steps=2 format=3 uid="uid://b6iglvt36pm55"]
|
[gd_resource type="Resource" script_class="ReedPropEffect" load_steps=6 format=3 uid="uid://b6iglvt36pm55"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/ReedPropEffect.gd" id="1_3md03"]
|
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/Effect/ReedPropEffect.gd" id="1_3md03"]
|
||||||
|
[ext_resource type="Script" uid="uid://bf1qlvdbf8qdp" path="res://addons/reedscene/prop/Effect/EAT_CallFunc.gd" id="1_uj0dv"]
|
||||||
|
[ext_resource type="Script" uid="uid://8cqs3i8sr8b1" path="res://addons/reedscene/prop/Effect/ETT_Owner.gd" id="2_ju8qu"]
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_uj0dv"]
|
||||||
|
script = ExtResource("1_uj0dv")
|
||||||
|
func_name = &"call_deferred"
|
||||||
|
func_args = [&"set_monitoring", true]
|
||||||
|
metadata/_custom_type_script = "uid://bf1qlvdbf8qdp"
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_14rqm"]
|
||||||
|
script = ExtResource("2_ju8qu")
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
script = ExtResource("1_3md03")
|
script = ExtResource("1_3md03")
|
||||||
effect_type = 1
|
effect_target_type = SubResource("Resource_14rqm")
|
||||||
value = null
|
effect_apply_type = SubResource("Resource_uj0dv")
|
||||||
func_name = &"set_defer"
|
|
||||||
func_args = [&"monitoring", true]
|
|
||||||
metadata/_custom_type_script = "uid://cdvgq0xqdbagk"
|
metadata/_custom_type_script = "uid://cdvgq0xqdbagk"
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -13,7 +13,7 @@
|
||||||
[ext_resource type="Script" uid="uid://b4menkyub4ce7" path="res://addons/reedscene/prop/PropComponent.gd" id="9_fdfto"]
|
[ext_resource type="Script" uid="uid://b4menkyub4ce7" path="res://addons/reedscene/prop/PropComponent.gd" id="9_fdfto"]
|
||||||
[ext_resource type="Script" uid="uid://di41kt2tj34c2" path="res://addons/reedscene/prop/StateManager.gd" id="10_uerbs"]
|
[ext_resource type="Script" uid="uid://di41kt2tj34c2" path="res://addons/reedscene/prop/StateManager.gd" id="10_uerbs"]
|
||||||
[ext_resource type="Script" uid="uid://7lml6d1t5xtq" path="res://addons/reedscene/prop/PropState.gd" id="11_w12cs"]
|
[ext_resource type="Script" uid="uid://7lml6d1t5xtq" path="res://addons/reedscene/prop/PropState.gd" id="11_w12cs"]
|
||||||
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/ReedPropEffect.gd" id="12_fmhh5"]
|
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/Effect/ReedPropEffect.gd" id="12_fmhh5"]
|
||||||
[ext_resource type="Resource" uid="uid://bjjxh7g7iosla" path="res://_props/_camera/camera_anchor_disable.tres" id="13_qg43s"]
|
[ext_resource type="Resource" uid="uid://bjjxh7g7iosla" path="res://_props/_camera/camera_anchor_disable.tres" id="13_qg43s"]
|
||||||
[ext_resource type="Resource" uid="uid://458r8rf7x02p" path="res://_props/_camera/camera_anchor_enable.tres" id="14_nnp13"]
|
[ext_resource type="Resource" uid="uid://458r8rf7x02p" path="res://_props/_camera/camera_anchor_enable.tres" id="14_nnp13"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bonrls3iuhdqb" path="res://_props/_prefabs/player/player_trigger_volumn.tscn" id="15_lg3ok"]
|
[ext_resource type="PackedScene" uid="uid://bonrls3iuhdqb" path="res://_props/_prefabs/player/player_trigger_volumn.tscn" id="15_lg3ok"]
|
||||||
|
|
@ -80,10 +80,10 @@ script = ExtResource("7_8ou3l")
|
||||||
position = Vector2(540, -400)
|
position = Vector2(540, -400)
|
||||||
use_blend = true
|
use_blend = true
|
||||||
zoom = Vector2(0.75, 0.75)
|
zoom = Vector2(0.75, 0.75)
|
||||||
limit_top = -335.0
|
limit_top = -335
|
||||||
limit_bottom = 240.0
|
limit_bottom = 240
|
||||||
limit_left = -427.0
|
limit_left = -427
|
||||||
limit_right = 427.0
|
limit_right = 427
|
||||||
follow_player = true
|
follow_player = true
|
||||||
|
|
||||||
[node name="[Prop_0000]" type="Node" parent="Props/CameraAnchor"]
|
[node name="[Prop_0000]" type="Node" parent="Props/CameraAnchor"]
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
[ext_resource type="Script" uid="uid://b4menkyub4ce7" path="res://addons/reedscene/prop/PropComponent.gd" id="9_03jph"]
|
[ext_resource type="Script" uid="uid://b4menkyub4ce7" path="res://addons/reedscene/prop/PropComponent.gd" id="9_03jph"]
|
||||||
[ext_resource type="Script" uid="uid://di41kt2tj34c2" path="res://addons/reedscene/prop/StateManager.gd" id="10_6tjqf"]
|
[ext_resource type="Script" uid="uid://di41kt2tj34c2" path="res://addons/reedscene/prop/StateManager.gd" id="10_6tjqf"]
|
||||||
[ext_resource type="Script" uid="uid://7lml6d1t5xtq" path="res://addons/reedscene/prop/PropState.gd" id="11_vl8fy"]
|
[ext_resource type="Script" uid="uid://7lml6d1t5xtq" path="res://addons/reedscene/prop/PropState.gd" id="11_vl8fy"]
|
||||||
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/ReedPropEffect.gd" id="12_dqcx2"]
|
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/Effect/ReedPropEffect.gd" id="12_dqcx2"]
|
||||||
[ext_resource type="Resource" uid="uid://bjjxh7g7iosla" path="res://_props/_camera/camera_anchor_disable.tres" id="13_86ew5"]
|
[ext_resource type="Resource" uid="uid://bjjxh7g7iosla" path="res://_props/_camera/camera_anchor_disable.tres" id="13_86ew5"]
|
||||||
[ext_resource type="Resource" uid="uid://458r8rf7x02p" path="res://_props/_camera/camera_anchor_enable.tres" id="14_vq1vg"]
|
[ext_resource type="Resource" uid="uid://458r8rf7x02p" path="res://_props/_camera/camera_anchor_enable.tres" id="14_vq1vg"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bonrls3iuhdqb" path="res://_props/_prefabs/player/player_trigger_volumn.tscn" id="15_g6605"]
|
[ext_resource type="PackedScene" uid="uid://bonrls3iuhdqb" path="res://_props/_prefabs/player/player_trigger_volumn.tscn" id="15_g6605"]
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
[ext_resource type="Script" uid="uid://b4menkyub4ce7" path="res://addons/reedscene/prop/PropComponent.gd" id="9_0dl6r"]
|
[ext_resource type="Script" uid="uid://b4menkyub4ce7" path="res://addons/reedscene/prop/PropComponent.gd" id="9_0dl6r"]
|
||||||
[ext_resource type="Script" uid="uid://di41kt2tj34c2" path="res://addons/reedscene/prop/StateManager.gd" id="10_sv1n5"]
|
[ext_resource type="Script" uid="uid://di41kt2tj34c2" path="res://addons/reedscene/prop/StateManager.gd" id="10_sv1n5"]
|
||||||
[ext_resource type="Script" uid="uid://7lml6d1t5xtq" path="res://addons/reedscene/prop/PropState.gd" id="11_rvnvs"]
|
[ext_resource type="Script" uid="uid://7lml6d1t5xtq" path="res://addons/reedscene/prop/PropState.gd" id="11_rvnvs"]
|
||||||
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/ReedPropEffect.gd" id="12_3jyxx"]
|
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/Effect/ReedPropEffect.gd" id="12_3jyxx"]
|
||||||
[ext_resource type="Resource" uid="uid://bjjxh7g7iosla" path="res://_props/_camera/camera_anchor_disable.tres" id="13_83bna"]
|
[ext_resource type="Resource" uid="uid://bjjxh7g7iosla" path="res://_props/_camera/camera_anchor_disable.tres" id="13_83bna"]
|
||||||
[ext_resource type="Resource" uid="uid://458r8rf7x02p" path="res://_props/_camera/camera_anchor_enable.tres" id="14_chfvl"]
|
[ext_resource type="Resource" uid="uid://458r8rf7x02p" path="res://_props/_camera/camera_anchor_enable.tres" id="14_chfvl"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bonrls3iuhdqb" path="res://_props/_prefabs/player/player_trigger_volumn.tscn" id="15_va12w"]
|
[ext_resource type="PackedScene" uid="uid://bonrls3iuhdqb" path="res://_props/_prefabs/player/player_trigger_volumn.tscn" id="15_va12w"]
|
||||||
|
|
@ -82,6 +82,11 @@ script = ExtResource("5_qtvqv")
|
||||||
|
|
||||||
[node name="CameraAnchor" parent="Props" instance=ExtResource("8_6bhoi")]
|
[node name="CameraAnchor" parent="Props" instance=ExtResource("8_6bhoi")]
|
||||||
position = Vector2(1277, -906)
|
position = Vector2(1277, -906)
|
||||||
|
use_blend = true
|
||||||
|
limit_top = -10000000
|
||||||
|
limit_bottom = 10000000
|
||||||
|
limit_left = -10000000
|
||||||
|
limit_right = 10000000
|
||||||
|
|
||||||
[node name="[Prop_0000]" type="Node" parent="Props/CameraAnchor"]
|
[node name="[Prop_0000]" type="Node" parent="Props/CameraAnchor"]
|
||||||
script = ExtResource("9_0dl6r")
|
script = ExtResource("9_0dl6r")
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,4 @@
|
||||||
|
|
||||||
[node name="CameraAnchor" type="Node2D"]
|
[node name="CameraAnchor" type="Node2D"]
|
||||||
script = ExtResource("1_dhu66")
|
script = ExtResource("1_dhu66")
|
||||||
use_blend = null
|
|
||||||
use_camera_limit = true
|
use_camera_limit = true
|
||||||
limit_top = -10000000.0
|
|
||||||
limit_bottom = 10000000.0
|
|
||||||
limit_left = -10000000.0
|
|
||||||
limit_right = 10000000.0
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
class_name EAT_CallFunc extends EffectApplyType
|
||||||
|
|
||||||
|
@export var func_name: StringName
|
||||||
|
@export var func_args: Array[Variant] = []
|
||||||
|
|
||||||
|
func apply(target: Object) -> void:
|
||||||
|
if target.has_method(func_name):
|
||||||
|
target.callv(func_name,func_args)
|
||||||
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://bf1qlvdbf8qdp
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
class_name EAT_SetValue extends EffectApplyType
|
||||||
|
|
||||||
|
@export var property_name: StringName
|
||||||
|
@export var value: Variant
|
||||||
|
|
||||||
|
func apply(target: Object) -> void:
|
||||||
|
target.set(property_name, value)
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://dhqvx7xi5bydi
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
class_name ETT_Child extends EffectTargetType
|
||||||
|
|
||||||
|
@export var child_node_name: StringName
|
||||||
|
@export var recursive_found: bool
|
||||||
|
@export var owned_node_only: bool
|
||||||
|
|
||||||
|
func get_effect_target(owner: Node, prop_comp: Node) -> Object:
|
||||||
|
return owner.find_child(child_node_name,recursive_found,owned_node_only)
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://xy63puo73qwo
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
class_name ETT_NodePath extends EffectTargetType
|
||||||
|
|
||||||
|
@export var target_node_path: NodePath
|
||||||
|
|
||||||
|
func get_effect_target(owner: Node, prop_comp: Node) -> Object:
|
||||||
|
return owner.get_node_or_null(target_node_path)
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://c7q1ikmlfg0x8
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
class_name ETT_Owner extends EffectTargetType
|
||||||
|
|
||||||
|
func get_effect_target(owner: Node, prop_comp: Node) -> Object:
|
||||||
|
if owner:
|
||||||
|
return owner
|
||||||
|
|
||||||
|
return null
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://8cqs3i8sr8b1
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
@abstract
|
||||||
|
class_name EffectApplyType extends Resource
|
||||||
|
|
||||||
|
@abstract
|
||||||
|
func apply(target: Object) -> void
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://5w8doxmunmsa
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
@abstract
|
||||||
|
class_name EffectTargetType extends Resource
|
||||||
|
|
||||||
|
## 子脚本必须重写,用来返回作用的对象的reference
|
||||||
|
@abstract
|
||||||
|
func get_effect_target(owner: Node, prop_comp: Node) -> Object
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://bbggu2hn42cck
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
''' 此Resource定义了一系列的Prop可能需要的预设的简单Effect,如果有更复杂的需求,应该重写State的OnEnter
|
||||||
|
'''
|
||||||
|
@tool
|
||||||
|
@icon("uid://cw1yyc4oeph85")
|
||||||
|
extends Resource
|
||||||
|
class_name ReedPropEffect
|
||||||
|
|
||||||
|
##用来选择Effect作用的对象
|
||||||
|
@export var effect_target_type: EffectTargetType = ETT_Owner.new()
|
||||||
|
##用来选择Effect作用的具体效果
|
||||||
|
@export var effect_apply_type: EffectApplyType = EAT_SetValue.new()
|
||||||
|
|
||||||
|
## 运行时缓存
|
||||||
|
var _cached_old_value: Variant
|
||||||
|
|
||||||
|
##应用效果
|
||||||
|
func apply(owner: Node, prop_comp: Node, ctx: Dictionary) -> void:
|
||||||
|
var target := _resolve_target(owner, prop_comp)
|
||||||
|
if target == null:
|
||||||
|
return
|
||||||
|
|
||||||
|
if not effect_apply_type:
|
||||||
|
return
|
||||||
|
|
||||||
|
effect_apply_type.apply(target)
|
||||||
|
|
||||||
|
##获取到组件或对象
|
||||||
|
func _resolve_target(owner: Node, prop_comp: Node) -> Object:
|
||||||
|
if effect_target_type == null:
|
||||||
|
return null
|
||||||
|
return effect_target_type.get_effect_target(owner,prop_comp)
|
||||||
|
|
@ -1,71 +0,0 @@
|
||||||
''' 此Resource定义了一系列的Prop可能需要的预设的简单Effect,如果有更复杂的需求,应该重写State的OnEnter
|
|
||||||
'''
|
|
||||||
@tool
|
|
||||||
@icon("uid://cw1yyc4oeph85")
|
|
||||||
extends Resource
|
|
||||||
class_name ReedPropEffect
|
|
||||||
|
|
||||||
enum TargetType {
|
|
||||||
OWNER,
|
|
||||||
ChildNode,
|
|
||||||
NODE_PATH
|
|
||||||
}
|
|
||||||
|
|
||||||
enum EffectType {
|
|
||||||
SET_VALUE,
|
|
||||||
CALL_FUNC
|
|
||||||
}
|
|
||||||
|
|
||||||
##作用目标的类型,默认为PropComp的拥有者
|
|
||||||
@export var target_type: TargetType = TargetType.OWNER
|
|
||||||
##如果选择了NodePath,则会读取此字段,默认不读取
|
|
||||||
@export var target_path: NodePath
|
|
||||||
##如果选择了ChildNode,则会读取此字段,默认不读取
|
|
||||||
@export var child_node_name: StringName
|
|
||||||
##如果选择了ChildNode,则会读取此字段,是否要递归的查找某个子节点
|
|
||||||
@export var recursive_found: bool = false
|
|
||||||
##如果选择了ChildNode,则会读取此字段,只检查该scene的子节点而忽略其他的外部添加的子节点
|
|
||||||
@export var owned_node_only: bool = true
|
|
||||||
##作用的具体效果类别,默认为设置某个数值
|
|
||||||
@export var effect_type: EffectType = EffectType.SET_VALUE
|
|
||||||
|
|
||||||
## SetValue 用
|
|
||||||
@export var property_name: StringName
|
|
||||||
@export var value: Variant
|
|
||||||
|
|
||||||
## CallFunc 用
|
|
||||||
@export var func_name: StringName
|
|
||||||
@export var func_args: Array[Variant] = []
|
|
||||||
|
|
||||||
## 是否在退出 state 时恢复
|
|
||||||
@export var restore_on_exit: bool = false
|
|
||||||
|
|
||||||
## 运行时缓存
|
|
||||||
var _cached_old_value: Variant
|
|
||||||
|
|
||||||
##应用效果
|
|
||||||
func apply(owner: Node, prop_comp: Node, ctx: Dictionary) -> void:
|
|
||||||
var target := _resolve_target(owner, prop_comp)
|
|
||||||
if target == null:
|
|
||||||
return
|
|
||||||
|
|
||||||
match effect_type:
|
|
||||||
EffectType.SET_VALUE:
|
|
||||||
target.set(property_name, value)
|
|
||||||
|
|
||||||
EffectType.CALL_FUNC:
|
|
||||||
if target.has_method(func_name):
|
|
||||||
target.callv(func_name, func_args)
|
|
||||||
|
|
||||||
##获取到组件或对象
|
|
||||||
func _resolve_target(owner: Node, prop_comp: Node) -> Object:
|
|
||||||
match target_type:
|
|
||||||
TargetType.OWNER:
|
|
||||||
return owner
|
|
||||||
TargetType.ChildNode:
|
|
||||||
if owner:
|
|
||||||
return owner.find_child(child_node_name,recursive_found,owned_node_only)
|
|
||||||
TargetType.NODE_PATH:
|
|
||||||
if owner:
|
|
||||||
return owner.get_node_or_null(target_path)
|
|
||||||
return null
|
|
||||||
Loading…
Reference in New Issue