Enemy FSM death

This commit is contained in:
Marco 2025-03-21 15:33:37 +01:00
commit cc85cd4b54
4 changed files with 34 additions and 3 deletions

View file

@ -177,7 +177,7 @@ script = ExtResource("15_17yce")
[node name="LootDrops" type="Node2D" parent="."]
script = ExtResource("16_76vwd")
LootDrops = Array[ExtResource("17_gsthm")]([SubResource("Resource_lh4qp"), SubResource("Resource_fmqd5"), SubResource("Resource_gry1a"), SubResource("Resource_6b6qx")])
LootDrops = [SubResource("Resource_lh4qp"), SubResource("Resource_fmqd5"), SubResource("Resource_gry1a"), SubResource("Resource_6b6qx")]
[connection signal="area_entered" from="PlayerDetection" to="PlayerDetection" method="_on_area_entered"]
[connection signal="area_exited" from="PlayerDetection" to="PlayerDetection" method="_on_area_exited"]

View file

@ -80,8 +80,9 @@ DamageReceiver = NodePath("../../DamageReceiver")
EquippedWeapon = NodePath("../../EnemyWeapon")
_moduleNodes = [NodePath("../../AnimationModule")]
[node name="Dead" type="Node2D" parent="StateMachine"]
[node name="Dead" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("StorageModule")]
script = ExtResource("8_pi7ab")
StorageModule = NodePath("../../Storage")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
sprite_frames = ExtResource("1_ho0th")

View file

@ -229,8 +229,10 @@ texture = SubResource("GradientTexture1D_4gtx8")
position = Vector2(385, 111)
scale = Vector2(0.66, 2.04)
[node name="FairyFsm" parent="Tilemaps/AcidHitboxes" instance=ExtResource("12_64bae")]
[node name="FairyFsm" parent="Tilemaps/AcidHitboxes" node_paths=PackedStringArray("DefeatScript") instance=ExtResource("12_64bae")]
position = Vector2(776, -56)
DefeatScript = NodePath("../../Actors/HorizontalForceField2")
ActivationType = 2
[node name="Actors" type="Node2D" parent="Tilemaps"]
y_sort_enabled = true
@ -247,6 +249,9 @@ EmitOnStart = true
[node name="HorizontalForceField" parent="Tilemaps/Actors" instance=ExtResource("13_mljl7")]
position = Vector2(304, 303)
[node name="HorizontalForceField2" parent="Tilemaps/Actors" instance=ExtResource("13_mljl7")]
position = Vector2(800, -112)
[node name="BlueKeycard" parent="Tilemaps/Actors" instance=ExtResource("14_0knpf")]
position = Vector2(124, 306)

View file

@ -1,8 +1,33 @@
using Cirno.Scripts.Enums;
using Godot;
namespace Cirno.Scripts.Components.FSM.Enemy;
public partial class Dead : EnemyStateBase
{
public override EnemyState StateId => EnemyState.Dead;
[Export]
public EnemyStorageModule StorageModule { get; private set; }
// public override void Init(IStateMachine<EnemyState, CharacterBody2D> machine)
// {
// base.Init(machine);
//
//
// }
public override void EnterState()
{
base.EnterState();
// Play death script
if (StorageModule.Root.DefeatScript is IActivable activatable)
{
activatable.Activate(StorageModule.Root.ActivationType);
}
StorageModule.Root.QueueFree();
}
}