コード例 #1
0
    void Awake()
    {
        Screen.showCursor = false;
        Screen.lockCursor = true;

        foreach (var value in System.Enum.GetValues(typeof(ClockState)))
        {
            clockMachine.AddState((int)value);
        }
        foreach (var value in System.Enum.GetValues(typeof(ClockCommand)))
        {
            clockMachine.AddCommand((int)value);
        }
        clockMachine.AddTransition((int)ClockState.SPAWNING, (int)ClockCommand.NEXT, (int)ClockState.SPAWNED);
        clockMachine.AddTransition((int)ClockState.SPAWNED, (int)ClockCommand.NEXT, (int)ClockState.DESPAWNING);
        clockMachine.AddTransition((int)ClockState.DESPAWNING, (int)ClockCommand.NEXT, (int)ClockState.DESPAWNED);
        clockMachine.AddTransition((int)ClockState.DESPAWNED, (int)ClockCommand.NEXT, (int)ClockState.SPAWNING);
        clockMachine.SetStateProcessOnEnter((int)ClockState.SPAWNING, MapSpawn);
        clockMachine.SetStateProcessOnEnter((int)ClockState.DESPAWNING, MapDespawn);
        clockMachine.Begin((int)ClockState.SPAWNING);
        MapSpawn();

        Countdown();
    }