cirnogodot/Scripts/Components/FSM/Enemy/3D/Dead.cs

29 lines
828 B
C#
Raw Normal View History

2025-08-05 16:24:21 +02:00
using Cirno.Scripts.Actors;
using Cirno.Scripts.Enums;
2025-06-21 15:41:29 +02:00
using Godot;
namespace Cirno.Scripts.Components.FSM.Enemy._3D;
public partial class Dead : EnemyStateBase3D
{
public override EnemyState StateId => EnemyState.Dead;
2025-09-11 14:10:14 +02:00
[Export] public EnemyStorage3D Storage { get; private set; }
2025-06-21 15:41:29 +02:00
public override void EnterState()
{
base.EnterState();
// player detection
// damage receiver will be a module
2025-06-21 18:54:14 +02:00
MainObject.Hide();
2025-08-05 16:24:21 +02:00
if (Storage.EnemyData.DebrisScene is not null)
{
var debris = Storage.EnemyData.DebrisScene.Instantiate<DeathDebris3D>();
MainObject.GetParent().AddChild(debris);
debris.GlobalPosition = MainObject.GlobalPosition;
debris.Init(Storage.EnemyData);
}
2025-09-11 14:10:14 +02:00
//MainObject.QueueFree();
2025-06-21 15:41:29 +02:00
}
}