mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-21 18:43:48 +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="."]
|
[node name="LootDrops" type="Node2D" parent="."]
|
||||||
script = ExtResource("16_76vwd")
|
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_entered" from="PlayerDetection" to="PlayerDetection" method="_on_area_entered"]
|
||||||
[connection signal="area_exited" from="PlayerDetection" to="PlayerDetection" method="_on_area_exited"]
|
[connection signal="area_exited" from="PlayerDetection" to="PlayerDetection" method="_on_area_exited"]
|
||||||
|
|
|
||||||
|
|
@ -80,8 +80,9 @@ DamageReceiver = NodePath("../../DamageReceiver")
|
||||||
EquippedWeapon = NodePath("../../EnemyWeapon")
|
EquippedWeapon = NodePath("../../EnemyWeapon")
|
||||||
_moduleNodes = [NodePath("../../AnimationModule")]
|
_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")
|
script = ExtResource("8_pi7ab")
|
||||||
|
StorageModule = NodePath("../../Storage")
|
||||||
|
|
||||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||||
sprite_frames = ExtResource("1_ho0th")
|
sprite_frames = ExtResource("1_ho0th")
|
||||||
|
|
|
||||||
|
|
@ -229,8 +229,10 @@ texture = SubResource("GradientTexture1D_4gtx8")
|
||||||
position = Vector2(385, 111)
|
position = Vector2(385, 111)
|
||||||
scale = Vector2(0.66, 2.04)
|
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)
|
position = Vector2(776, -56)
|
||||||
|
DefeatScript = NodePath("../../Actors/HorizontalForceField2")
|
||||||
|
ActivationType = 2
|
||||||
|
|
||||||
[node name="Actors" type="Node2D" parent="Tilemaps"]
|
[node name="Actors" type="Node2D" parent="Tilemaps"]
|
||||||
y_sort_enabled = true
|
y_sort_enabled = true
|
||||||
|
|
@ -247,6 +249,9 @@ EmitOnStart = true
|
||||||
[node name="HorizontalForceField" parent="Tilemaps/Actors" instance=ExtResource("13_mljl7")]
|
[node name="HorizontalForceField" parent="Tilemaps/Actors" instance=ExtResource("13_mljl7")]
|
||||||
position = Vector2(304, 303)
|
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")]
|
[node name="BlueKeycard" parent="Tilemaps/Actors" instance=ExtResource("14_0knpf")]
|
||||||
position = Vector2(124, 306)
|
position = Vector2(124, 306)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,33 @@
|
||||||
using Cirno.Scripts.Enums;
|
using Cirno.Scripts.Enums;
|
||||||
|
using Godot;
|
||||||
|
|
||||||
namespace Cirno.Scripts.Components.FSM.Enemy;
|
namespace Cirno.Scripts.Components.FSM.Enemy;
|
||||||
|
|
||||||
public partial class Dead : EnemyStateBase
|
public partial class Dead : EnemyStateBase
|
||||||
{
|
{
|
||||||
public override EnemyState StateId => EnemyState.Dead;
|
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