public void Navigate(SceneTypesEnum sceneFrom, SceneTypesEnum sceneTo, Object transferObject) { _currentScene = GameObject.FindWithTag(Strings.BASE_SCENE_OBJECT).GetComponent <BaseScene>(); var loadedSceneName = Strings.GetScenePath(sceneTo); _loadSceneOperation = SceneManager.LoadSceneAsync(loadedSceneName); MasterManager.Coroutiner.StartCoroutine(SceneLoading(sceneTo, transferObject)); }
public static Vector2 SetUITaskPosition(int tasksCount, int currentTask, SceneTypesEnum sceneTypeEnum) { Vector2 position = Vector3.zero; int y = sceneTypeEnum == SceneTypesEnum.Menu ? 0 : -80; if (tasksCount == 2) { int x = sceneTypeEnum == SceneTypesEnum.Menu ? 80 : 60; switch (currentTask) { case 0: position = new Vector2(-x, y); break; case 1: position = new Vector2(x, y); break; } } else if (tasksCount == 3) { int x = sceneTypeEnum == SceneTypesEnum.Menu ? 140 : 90; switch (currentTask) { case 0: position = new Vector2(-x, y); break; case 1: position = new Vector2(0, y); break; case 2: position = new Vector2(x, y); break; } } else { position = new Vector2(0, y); } return(position); }
private IEnumerator SceneLoading(SceneTypesEnum loadedScene, Object transferObject) { var isLoaded = _loadSceneOperation.isDone; while (isLoaded == false) { yield return(null); isLoaded = _loadSceneOperation.isDone; } yield return(null); _currentScene.OnExit(); _currentScene = GameObject.FindWithTag(Strings.BASE_SCENE_OBJECT).GetComponent <BaseScene>(); _currentScene.SetDependencies(loadedScene, this); _currentScene.OnEnter(transferObject); }
public void SetDependencies(SceneTypesEnum sceneTypeEnum, INavigationManager navigationManager) { _NavigationManager = navigationManager; SceneTypeEnum = sceneTypeEnum; }
public static string GetScenePath(SceneTypesEnum sceneTypeEnum) { return(ScenesPath[sceneTypeEnum]); }