Пример #1
0
        IEnumerator AddNecessaryScenes(ScriptableScenePackage scenePackage, List <AsyncOperation> asyncAddSceneOperations)
        {
#if CHEAT
            yield return(AddNecessaryScenes(asyncAddSceneOperations, scenePackage.cheatScenes));
#endif

            for (int i = 0; i < scenePackage.startScenePackages.Length; i++)
            {
                yield return(AddNecessaryScenes(scenePackage.startScenePackages[i], asyncAddSceneOperations));
            }

            yield return(AddNecessaryScenes(asyncAddSceneOperations, scenePackage.scenes));


            for (int i = 0; i < scenePackage.endScenePackages.Length; i++)
            {
                yield return(AddNecessaryScenes(scenePackage.endScenePackages[i], asyncAddSceneOperations));
            }
        }
Пример #2
0
        public static bool SceneHasToBeRemoved(ScriptableScenePackage scenePackage, string sceneName)
        {
            bool remove = true;

#if CHEAT
            remove = remove && !(Array.Exists(scenePackage.cheatScenes, ((x) => { return(x == sceneName); })));
#endif

            for (int i = 0; i < scenePackage.startScenePackages.Length; i++)
            {
                remove = remove && SceneHasToBeRemoved(scenePackage.startScenePackages[i], sceneName);
            }

            remove = remove && !(Array.Exists(scenePackage.scenes, ((x) => { return(x == sceneName); })));

            for (int i = 0; i < scenePackage.endScenePackages.Length; i++)
            {
                remove = remove && SceneHasToBeRemoved(scenePackage.endScenePackages[i], sceneName);
            }

            return(remove);
        }