Пример #1
0
 public static void ClearDirty()
 {
     //ActiveEditorTracker.sharedTracker.ClearDirty();
     foreach (var comp in GetAllSceneComponents())
     {
         EditorUtility.ClearDirty(comp);
     }
     EditorSceneManager.ClearSceneDirtiness(EditorSceneManager.GetActiveScene());
 }
        internal static bool CreateBuiltinScene(BuiltinTemplateType type, bool loadAdditively)
        {
            if (loadAdditively && HasSceneUntitled() && !EditorSceneManager.SaveOpenScenes())
            {
                return(false);
            }

            if (!loadAdditively && !EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo())
            {
                return(false);
            }

            var eventType        = type != BuiltinTemplateType.Empty ? SceneTemplateAnalytics.SceneInstantiationType.DefaultScene : SceneTemplateAnalytics.SceneInstantiationType.EmptyScene;
            var instantiateEvent = new SceneTemplateAnalytics.SceneInstantiationEvent(eventType)
            {
                additive = loadAdditively
            };

            Scene scene;

            switch (type)
            {
            case BuiltinTemplateType.Default2DMode3DCamera:
                // Fake 3D mode to ensure proper set of default game objects are created.
                EditorSettings.defaultBehaviorMode = EditorBehaviorMode.Mode3D;
                scene = EditorSceneManager.NewScene(NewSceneSetup.DefaultGameObjects, loadAdditively ? NewSceneMode.Additive : NewSceneMode.Single);
                EditorSettings.defaultBehaviorMode = EditorBehaviorMode.Mode2D;
                break;

            case BuiltinTemplateType.Default3D:
                scene = EditorSceneManager.NewScene(NewSceneSetup.DefaultGameObjects, loadAdditively ? NewSceneMode.Additive : NewSceneMode.Single);
                break;

            case BuiltinTemplateType.Default2D:
                scene = EditorSceneManager.NewScene(NewSceneSetup.DefaultGameObjects, loadAdditively ? NewSceneMode.Additive : NewSceneMode.Single);
                break;

            default:
                scene = EditorSceneManager.NewScene(NewSceneSetup.EmptyScene, loadAdditively ? NewSceneMode.Additive : NewSceneMode.Single);
                break;
            }
            EditorSceneManager.ClearSceneDirtiness(scene);
            SceneTemplateAnalytics.SendSceneInstantiationEvent(instantiateEvent);
            return(true);
        }
Пример #3
0
 public void ClearDirtiness()
 {
     EditorSceneManager.ClearSceneDirtiness(m_PreviewScene);
     m_InitialSceneDirtyID = m_PreviewScene.dirtyID;
 }
Пример #4
0
 public void ClearDirtiness()
 {
     EditorSceneManager.ClearSceneDirtiness(m_PreviewScene);
     m_InitialSceneDirtyID = m_PreviewScene.dirtyID;
     m_StageDirtiedFired   = false;
 }