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));
        }
Example #2
0
        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);
        }
Example #4
0
 public void SetDependencies(SceneTypesEnum sceneTypeEnum, INavigationManager navigationManager)
 {
     _NavigationManager = navigationManager;
     SceneTypeEnum      = sceneTypeEnum;
 }
Example #5
0
 public static string GetScenePath(SceneTypesEnum sceneTypeEnum)
 {
     return(ScenesPath[sceneTypeEnum]);
 }