using Godot;

namespace Cirno.Scripts.Components.FSM;

public interface IModule<TKey, TType>
    where TKey : notnull
    where TType : Node
{
    public void EnterState(TKey state);
    public void ExitState(TKey state);
    public void Init(IStateMachine<TKey, TType> machine);
    public void Process(double delta);
    public void PhysicsProcess(double delta);
}