Пример #1
0
    private void Awake()
    {
        fsm = new FSMSystem <PlayerST, PlayerSN> ();

        var idle = new PlayerIdle(PlayerSN.Idle);

        idle.AddTransition(PlayerST.InputA, PlayerSN.Run);

        var run = new PlayerRun(PlayerSN.Run);

        run.AddTransition(PlayerST.InputB, PlayerSN.Idle);

        fsm.AddState(idle);
        fsm.AddState(run);

        fsm.SetCurrentState(PlayerSN.Idle);

        Debug.Log(fsm.states.Count);
    }