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(); }