Destroyable movement sensors

This commit is contained in:
MaddoScientisto 2025-03-12 23:32:33 +01:00
commit ea7deaa774
8 changed files with 187 additions and 15 deletions

View file

@ -0,0 +1,21 @@
[gd_scene load_steps=4 format=3 uid="uid://dbd7pmoevm787"]
[ext_resource type="Texture2D" uid="uid://bs5fsrx07bolj" path="res://Sprites/Actors/MovementSensor.png" id="1_cegkl"]
[sub_resource type="AtlasTexture" id="AtlasTexture_kaq0i"]
atlas = ExtResource("1_cegkl")
region = Rect2(16, 0, 8, 8)
[sub_resource type="SpriteFrames" id="SpriteFrames_us36d"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_kaq0i")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[node name="DestroyedMovementSensor" type="AnimatedSprite2D"]
sprite_frames = SubResource("SpriteFrames_us36d")

View file

@ -1,8 +1,11 @@
[gd_scene load_steps=8 format=3 uid="uid://oi8svqsspcsj"]
[gd_scene load_steps=12 format=3 uid="uid://oi8svqsspcsj"]
[ext_resource type="Script" uid="uid://d0a0o50j82eo6" path="res://Scripts/Activables/ScriptableBase.cs" id="1_cpf8e"]
[ext_resource type="Script" uid="uid://dmo0pw7natoja" path="res://Scripts/Interactables/AreaTrigger.cs" id="2_xybrs"]
[ext_resource type="Texture2D" uid="uid://bs5fsrx07bolj" path="res://Sprites/Actors/MovementSensor.png" id="3_xybrs"]
[ext_resource type="Script" uid="uid://cq3hkweplldbr" path="res://Scripts/Components/Actors/GenericDamageReceiver.cs" id="4_hqdqa"]
[ext_resource type="PackedScene" uid="uid://dbd7pmoevm787" path="res://Scenes/Interactable/DestroyedMovementSensor.tscn" id="5_hqdqa"]
[ext_resource type="Script" uid="uid://cqwvssstkrdmw" path="res://Scripts/Components/Actors/ActorResourceProvider.cs" id="6_58ipm"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_1nht3"]
size = Vector2(4, 30)
@ -29,6 +32,9 @@ animations = [{
"speed": 5.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_5j6xs"]
radius = 3.0
[node name="MovementSensor" type="Node2D"]
script = ExtResource("1_cpf8e")
@ -46,5 +52,21 @@ shape = SubResource("RectangleShape2D_1nht3")
sprite_frames = SubResource("SpriteFrames_hqdqa")
autoplay = "default"
[node name="DamageReceiver" type="Area2D" parent="." node_paths=PackedStringArray("HealthProvider")]
collision_layer = 64
collision_mask = 136
script = ExtResource("4_hqdqa")
HealthProvider = NodePath("Health")
Debris = ExtResource("5_hqdqa")
[node name="CollisionShape2D" type="CollisionShape2D" parent="DamageReceiver"]
shape = SubResource("CircleShape2D_5j6xs")
[node name="Health" type="Node2D" parent="DamageReceiver"]
script = ExtResource("6_58ipm")
ResourceName = "Health"
MaxResource = 1.0
[connection signal="Activated" from="AreaTrigger" to="." method="Start"]
[connection signal="area_entered" from="AreaTrigger" to="AreaTrigger" method="_on_area_entered"]
[connection signal="area_entered" from="DamageReceiver" to="DamageReceiver" method="_on_damage_hitbox_area_entered"]

View file

@ -1,8 +1,11 @@
[gd_scene load_steps=8 format=3 uid="uid://dqr6myj0yaqvd"]
[gd_scene load_steps=12 format=3 uid="uid://dqr6myj0yaqvd"]
[ext_resource type="Script" uid="uid://d0a0o50j82eo6" path="res://Scripts/Activables/ScriptableBase.cs" id="1_48f0r"]
[ext_resource type="Script" uid="uid://dmo0pw7natoja" path="res://Scripts/Interactables/AreaTrigger.cs" id="2_ms26s"]
[ext_resource type="Texture2D" uid="uid://bs5fsrx07bolj" path="res://Sprites/Actors/MovementSensor.png" id="3_7s6mr"]
[ext_resource type="Script" uid="uid://cq3hkweplldbr" path="res://Scripts/Components/Actors/GenericDamageReceiver.cs" id="4_l4cg8"]
[ext_resource type="PackedScene" uid="uid://dbd7pmoevm787" path="res://Scenes/Interactable/DestroyedMovementSensor.tscn" id="5_uvcq0"]
[ext_resource type="Script" uid="uid://cqwvssstkrdmw" path="res://Scripts/Components/Actors/ActorResourceProvider.cs" id="6_mjf1a"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_1nht3"]
size = Vector2(4, 62)
@ -29,6 +32,9 @@ animations = [{
"speed": 5.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_qy7he"]
radius = 3.0
[node name="MovementSensorLonger" type="Node2D"]
script = ExtResource("1_48f0r")
@ -46,5 +52,21 @@ shape = SubResource("RectangleShape2D_1nht3")
sprite_frames = SubResource("SpriteFrames_hqdqa")
autoplay = "default"
[node name="DamageReceiver" type="Area2D" parent="." node_paths=PackedStringArray("HealthProvider")]
collision_layer = 64
collision_mask = 136
script = ExtResource("4_l4cg8")
HealthProvider = NodePath("Health")
Debris = ExtResource("5_uvcq0")
[node name="CollisionShape2D" type="CollisionShape2D" parent="DamageReceiver"]
shape = SubResource("CircleShape2D_qy7he")
[node name="Health" type="Node2D" parent="DamageReceiver"]
script = ExtResource("6_mjf1a")
ResourceName = "Health"
MaxResource = 1.0
[connection signal="Activated" from="AreaTrigger" to="." method="Start"]
[connection signal="area_entered" from="AreaTrigger" to="AreaTrigger" method="_on_area_entered"]
[connection signal="area_entered" from="DamageReceiver" to="DamageReceiver" method="_on_damage_hitbox_area_entered"]