public void SwitchToScene(string sceneName, SceneMeta meta = null) { if (_isBusy) { return; } _isBusy = true; InputTools.DisableAllInput(); StartFadingCoroutines(FadingType.FadeOut); WaitForFadingCoroutinesFinish(AfterFinish); void AfterFinish() { SceneMetaCourier.Instance.SceneMeta = meta; SceneManager.LoadScene(sceneName); _isBusy = false; } }
protected abstract void LoadMeta(SceneMeta meta);