mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-09 12:35:53 +00:00
Enemy FSM death
This commit is contained in:
parent
e7c1814d98
commit
cc85cd4b54
4 changed files with 34 additions and 3 deletions
|
|
@ -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"]
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue