This commit is contained in:
Marco 2025-03-04 17:50:16 +01:00
commit 5a09b7fcd1
18 changed files with 229 additions and 3 deletions

View file

@ -0,0 +1,17 @@
using System.Collections.Generic;
using Godot;
namespace Cirno.Scripts.Components.FSM;
public interface IStateMachine<TKey, TType>
where TKey : notnull
where TType : Node
{
public Dictionary<TKey, IState<TKey, TType>> States { get; set; }
protected TKey CurrentStateIndex { get; set; }
public IState<TKey, TType> CurrentState { get; }
public TKey InitialState { get; }
public void SetState(TKey stateId);
public TType MainObject { get; }
}