2025-02-23 17:18:48 +01:00
|
|
|
|
using Godot;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Cirno.Scripts.Components.FSM;
|
|
|
|
|
|
|
2025-02-25 15:54:51 +01:00
|
|
|
|
public abstract partial class State : Node2D
|
2025-02-23 17:18:48 +01:00
|
|
|
|
{
|
2025-02-25 15:54:51 +01:00
|
|
|
|
public virtual int StateId { get; }
|
|
|
|
|
|
|
|
|
|
|
|
protected ActorStateMachine _stateMachine;
|
|
|
|
|
|
|
|
|
|
|
|
public virtual void Init(ActorStateMachine stateMachine)
|
|
|
|
|
|
{
|
|
|
|
|
|
_stateMachine = stateMachine;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public abstract void EnterState();
|
|
|
|
|
|
|
|
|
|
|
|
public abstract void ExitState();
|
|
|
|
|
|
|
|
|
|
|
|
public abstract void ProcessState(double delta);
|
|
|
|
|
|
public abstract void PhysicsProcessState(double delta);
|
2025-02-23 17:18:48 +01:00
|
|
|
|
|
|
|
|
|
|
}
|