Esempio n. 1
0
 public static void Lap()
 {
     activeTimer = false;
     MapCreate2.SetInactive();
     MainOverlay.SetInactive();
     FinishRace.SetActive();
     FinishRace.SetFinishTime(time);
 }
Esempio n. 2
0
 // Use this for initialization
 void Start()
 {
     if (instance == null)
     {
         instance = GetComponent <FinishRace>();
     }
     else
     {
         Destroy(gameObject);
     }
     SetInactive();
 }
Esempio n. 3
0
    private void CreateStateMachine()
    {
        _stateMachine = new StateMachine();

        var menu       = new MenuState();
        var load       = new LoadLevelState(this);
        var countDown  = new CountDownState(this);
        var play       = new PlayState(this);
        var pause      = new PauseState();
        var finishRace = new FinishRace();
        var exit       = new ExitState();

        _stateMachine.SetState(menu);

        _stateMachine.AddTransition(menu, load, () => LoadLevelState.LevelToLoad != null);
        _stateMachine.AddTransition(menu, exit, () => ExitButton.Pressed);

        _stateMachine.AddTransition(load, countDown, load.FinishLoading);

        _stateMachine.AddTransition(countDown, play, () => RaceStarted);
        _stateMachine.AddTransition(countDown, pause, () => PlayerInput.Instance.Pause);

        _stateMachine.AddTransition(play, finishRace, () => RaceFinished);
        _stateMachine.AddTransition(play, pause, () => PlayerInput.Instance.Pause);

        _stateMachine.AddTransition(finishRace, menu, () => MenuButton.Pressed);
        _stateMachine.AddTransition(finishRace, load, () => LoadLevelState.LevelToLoad != null);
        _stateMachine.AddTransition(finishRace, exit, () => ExitButton.Pressed);

        _stateMachine.AddTransition(pause, countDown, () => PauseButton.Pressed && !RaceStarted);
        _stateMachine.AddTransition(pause, countDown, () => PlayerInput.Instance.Pause && !RaceStarted);
        _stateMachine.AddTransition(pause, play, () => PauseButton.Pressed && RaceStarted);
        _stateMachine.AddTransition(pause, play, () => PlayerInput.Instance.Pause && RaceStarted);
        _stateMachine.AddTransition(pause, load, () => LoadLevelState.LevelToLoad != null);
        _stateMachine.AddTransition(pause, menu, () => MenuButton.Pressed);
        _stateMachine.AddTransition(pause, exit, () => ExitButton.Pressed);
    }