private IEnumerator LoadRace(string raceSceneName, RaceManager.RaceMode raceMode) { m_raceSceneLoadedName = raceSceneName; yield return(StartCoroutine(Fade(FadeMode.FadeIn))); yield return(SceneManager.UnloadSceneAsync(m_titleSceneName)); yield return(SceneManager.LoadSceneAsync(m_loadingSceneName, LoadSceneMode.Additive)); yield return(SceneManager.SetActiveScene(SceneManager.GetSceneAt(SceneManager.sceneCount - 1))); yield return(StartCoroutine(Fade(FadeMode.FadeOut))); yield return(SceneManager.LoadSceneAsync(raceSceneName, LoadSceneMode.Additive)); FindObjectOfType <RaceManager>().SetUpRaceManager(raceMode); yield return(StartCoroutine(Fade(FadeMode.FadeIn))); yield return(SceneManager.UnloadSceneAsync(m_loadingSceneName)); yield return(SceneManager.SetActiveScene(SceneManager.GetSceneAt(SceneManager.sceneCount - 1))); FindObjectOfType <RaceManager>().ChangeState(RaceManager.RaceState.BeforeStartAnimation); yield return(StartCoroutine(Fade(FadeMode.FadeOut))); }
private void SetUpRaceMode() { RaceManager.RaceMode raceMode = m_raceManager.GetRaceMode(); switch (raceMode) { case RaceManager.RaceMode.Solo: m_raceModeText.text = "SOLO"; break; case RaceManager.RaceMode.SoloIA: m_raceModeText.text = "SOLO IA"; break; case RaceManager.RaceMode.TimeAttack: m_raceModeText.text = "TIME ATTACK"; break; case RaceManager.RaceMode.VS1: m_raceModeText.text = "1 VS 1"; break; case RaceManager.RaceMode.VSN: m_raceModeText.text = m_raceManager.GetCarCount() + " CARS RACE"; break; } }
private void RaceModeButtonPressed(Button button) { if (!m_isActive) { return; } for (int i = 0; i < m_raceModesButtons.Length; ++i) { if (m_raceModesButtons[i] == button) { m_raceModeSelected = m_raceModes[i]; StartRace(); return; } } }
private void SetUpMainCarResult() { RaceManager.RaceMode raceMode = m_raceManager.GetRaceMode(); switch (raceMode) { case RaceManager.RaceMode.Solo: case RaceManager.RaceMode.TimeAttack: case RaceManager.RaceMode.SoloIA: float raceTime = m_raceManager.GetMainCarTime(); Utils.TimeToString(raceTime, ref m_mainCarResultText, 0.6f); break; case RaceManager.RaceMode.VS1: case RaceManager.RaceMode.VSN: int position = m_raceManager.GetMainCarPosition(); m_mainCarResultText.text = "Nº " + position; if (position == 1) { m_mainCarResultText.text += "!"; } break; } }
public void LoadRaceFromTitleScreen(string raceSceneName, RaceManager.RaceMode raceMode) { Debug.Log("LoadRaceFromTitleScreen " + raceSceneName + ", " + raceMode.ToString()); StartCoroutine(LoadRace(raceSceneName, raceMode)); }