// ----------------------------------------------------------------------------- // file="ISimpleStateMachine" // Project: StgSharp // Copyright (c) Nitload. // SPDX-License-Identifier: MIT // ----------------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Linq; using System.Numerics; using System.Text; using System.Threading.Tasks; namespace Nitload.State { public interface ISimpleStateMachine where TStateNode : SimpleStateMachineNode where TStateLabel : unmanaged, IEquatable where TStateContext : StateContext { TStateNode this[ TStateLabel label ] { get; } ref readonly TStateNode GetCurrentStateNode(); void Reset(); bool TryMoveNext( TStateContext ctx ); } }