Example #1
0
        public IList <Scene> GetCurrentSystemScenes()
        {
            var scene = SceneManager.GetActiveScene();

            if (scene.path == BaseScene.SceneName)
            {
                return new [] { SceneManager.GetSceneByPath(BaseScene), SceneManager.GetSceneByPath(LoadingScreen) }
            }
            ;
            return(new [] { SceneManager.GetSceneByPath(BaseScene) });
        }
    }
Example #2
0
        public void Init()
        {
            var scene = BaseGame.Instance?.GetLoader()?.BaseScene;

            if (scene != null && scene.HasValue())
            {
                var mainScene   = SceneManager.GetSceneByPath(scene);
                var gameCamera  = AquireMainCamera(mainScene);
                var levelCamera = AquireLevelCamera(mainScene);

                if (gameCamera != levelCamera)
                {
                    if (levelCamera && PreferLevelCamera)
                    {
                        SwitchCameras(gameCamera, levelCamera);
                    }
                    else
                    {
                        SwitchCameras(levelCamera, gameCamera);
                    }
                }
            }
        }
Example #3
0
 private void CommenceLoading(SceneReference targetScene)
 {
     FadeToBlack().Then(() =>
     {
         SceneManager.SetActiveScene(SceneManager.GetSceneByPath(BaseScene.SceneName));
     }).Then(() => {
         gameObject.BroadcastToAll("PreOnLoadingScreenOn");
     }).Then(
         () => LoadScene(LoadingScreen)
         ).Then(() => {
         gameObject.BroadcastToAll("PostOnLoadingScreenOn");
     }).Then(
         UnfadeFromBlack
         ).Then(
         UnloadStrayScenes
         ).Then(
         () => LoadScene(targetScene)
         ).Then(() => {
         gameObject.BroadcastToAll("PreOnLoadingScreenOff");
     }).Then(
         FadeToBlack
         ).Then(
         () => UnloadScene(LoadingScreen)
         ).Then(() => {
         gameObject.BroadcastToAll("PostOnLoadingScreenOff");
         SceneManager.SetActiveScene(SceneManager.GetSceneByPath(targetScene.SceneName));
     }).Then(
         UnfadeFromBlack
         ).Then
     (
         () => EndLoadScene()
     ).Catch(exception =>
     {
         Debug.LogError($"Scene loading failed with following exception: {exception.ToString()}");
     });
 }