public static void Lap() { activeTimer = false; MapCreate2.SetInactive(); MainOverlay.SetInactive(); FinishRace.SetActive(); FinishRace.SetFinishTime(time); }
// Use this for initialization void Start() { if (instance == null) { instance = GetComponent <FinishRace>(); } else { Destroy(gameObject); } SetInactive(); }
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); }