Beispiel #1
0
        public static void RestoreState(SceneState state)
        {
            var scenes = new SceneSetup[state.Scenes.Length];

            for (var i = 0; i < state.Scenes.Length; i++)
            {
                scenes[i] = new SceneSetup {
                    isActive = state.Scenes[i].IsActive, isLoaded = state.Scenes[i].IsLoaded, path = state.Scenes[i].Path
                }
            }
            ;

            EditorSceneManager.RestoreSceneManagerSetup(scenes);
        }

        #endregion
    }
Beispiel #2
0
        // SceneSetup is not serializable so this little dance is necessary to persist the editor state through play
        // mode changes

        public static SceneState CaptureState()
        {
            var state = new SceneState();
            var setup = EditorSceneManager.GetSceneManagerSetup();

            state.Scenes = new SceneState.SceneData[setup.Length];

            for (var i = 0; i < setup.Length; i++)
            {
                state.Scenes[i] = new SceneState.SceneData {
                    IsActive = setup[i].isActive, IsLoaded = setup[i].isLoaded, Path = setup[i].path
                }
            }
            ;

            return(state);
        }