cirnogodot/Scripts/Components/FSM/State.cs

32 lines
719 B
C#
Raw Normal View History

2025-02-23 17:18:48 +01:00
using Godot;
2025-02-26 11:04:16 +01:00
using Godot.Collections;
2025-02-23 17:18:48 +01:00
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-28 13:50:52 +01:00
// [Export]
// public Array<FSMStateModule> Modules { get; private set; } = new();
2025-02-25 15:54:51 +01:00
public virtual int StateId { get; }
protected ActorStateMachine _stateMachine;
2025-02-28 13:50:52 +01:00
2025-02-25 15:54:51 +01:00
public virtual void Init(ActorStateMachine stateMachine)
{
_stateMachine = stateMachine;
2025-02-26 11:04:16 +01:00
2025-02-28 13:50:52 +01:00
// foreach (var module in Modules)
// {
// //module.Init()
// }
2025-02-25 15:54:51 +01:00
}
2025-02-28 13:50:52 +01:00
2025-02-25 15:54:51 +01:00
public abstract void EnterState();
public abstract void ExitState();
2025-02-28 13:50:52 +01:00
2025-02-25 15:54:51 +01:00
public abstract void ProcessState(double delta);
public abstract void PhysicsProcessState(double delta);
2025-02-28 13:50:52 +01:00
2025-02-23 17:18:48 +01:00
}