提交 c603f77f 编写于 作者: A Adrian T

Use the public PrefabStageUtility.GetCurrentPrefabStage() instead of the...

Use the public PrefabStageUtility.GetCurrentPrefabStage() instead of the internal StageNavigationManager.
上级 6bfeeaa6
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
using System.IO; using System.IO;
using UnityEditor; using UnityEditor;
using UnityEditor.AI; using UnityEditor.AI;
using UnityEditor.Experimental.SceneManagement;
using UnityEditor.SceneManagement; using UnityEditor.SceneManagement;
using UnityEngine.AI; using UnityEngine.AI;
using UnityEngine.SceneManagement; using UnityEngine.SceneManagement;
...@@ -108,7 +109,7 @@ public IEnumerator TearDown() ...@@ -108,7 +109,7 @@ public IEnumerator TearDown()
//{ //{
// var prefab = AssetDatabase.LoadAssetAtPath<GameObject>(m_PrefabPath); // var prefab = AssetDatabase.LoadAssetAtPath<GameObject>(m_PrefabPath);
// AssetDatabase.OpenAsset(prefab); // AssetDatabase.OpenAsset(prefab);
// var prefabStage = StageNavigationManager.instance.GetCurrentPrefabStage(); // var prefabStage = PrefabStageUtility.GetCurrentPrefabStage();
// if (prefabStage != null && prefabStage.prefabContentsRoot != null) // if (prefabStage != null && prefabStage.prefabContentsRoot != null)
// { // {
// var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>(); // var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>();
...@@ -162,7 +163,7 @@ public IEnumerator NavMeshSurfacePrefab_AfterEditing_LeavesMainSceneUntouched() ...@@ -162,7 +163,7 @@ public IEnumerator NavMeshSurfacePrefab_AfterEditing_LeavesMainSceneUntouched()
var prefab = AssetDatabase.LoadAssetAtPath<GameObject>(m_PrefabPath); var prefab = AssetDatabase.LoadAssetAtPath<GameObject>(m_PrefabPath);
AssetDatabase.OpenAsset(prefab); AssetDatabase.OpenAsset(prefab);
var prefabStage = StageNavigationManager.instance.GetCurrentPrefabStage(); var prefabStage = PrefabStageUtility.GetCurrentPrefabStage();
Assert.IsNotNull(prefabStage); Assert.IsNotNull(prefabStage);
Assert.IsNotNull(prefabStage.prefabContentsRoot); Assert.IsNotNull(prefabStage.prefabContentsRoot);
...@@ -207,7 +208,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenInstantiated_ReferencesTheSameNavMes ...@@ -207,7 +208,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenInstantiated_ReferencesTheSameNavMes
var instanceCloneNavMeshData = instanceCloneSurface.navMeshData; var instanceCloneNavMeshData = instanceCloneSurface.navMeshData;
AssetDatabase.OpenAsset(prefab); AssetDatabase.OpenAsset(prefab);
var prefabStage = StageNavigationManager.instance.GetCurrentPrefabStage(); var prefabStage = PrefabStageUtility.GetCurrentPrefabStage();
Assert.IsNotNull(prefabStage); Assert.IsNotNull(prefabStage);
Assert.IsNotNull(prefabStage.prefabContentsRoot); Assert.IsNotNull(prefabStage.prefabContentsRoot);
...@@ -235,7 +236,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenEmptyAndInstantiated_InstanceHasEmpt ...@@ -235,7 +236,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenEmptyAndInstantiated_InstanceHasEmpt
Assert.IsNotNull(instanceSurface.navMeshData); Assert.IsNotNull(instanceSurface.navMeshData);
AssetDatabase.OpenAsset(prefab); AssetDatabase.OpenAsset(prefab);
var prefabStage = StageNavigationManager.instance.GetCurrentPrefabStage(); var prefabStage = PrefabStageUtility.GetCurrentPrefabStage();
var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>(); var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>();
NavMeshSurfaceEditor.ClearSurfaces(new Object[] { prefabSurface }); NavMeshSurfaceEditor.ClearSurfaces(new Object[] { prefabSurface });
prefabStage.SavePrefab(); prefabStage.SavePrefab();
...@@ -260,7 +261,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenBakesNewNavMesh_UpdatesTheInstance() ...@@ -260,7 +261,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenBakesNewNavMesh_UpdatesTheInstance()
TestNavMeshExistsAloneAtPosition(k_PrefabDefaultArea, Vector3.zero); TestNavMeshExistsAloneAtPosition(k_PrefabDefaultArea, Vector3.zero);
AssetDatabase.OpenAsset(prefab); AssetDatabase.OpenAsset(prefab);
var prefabStage = StageNavigationManager.instance.GetCurrentPrefabStage(); var prefabStage = PrefabStageUtility.GetCurrentPrefabStage();
TestNavMeshExistsAloneAtPosition(k_PrefabDefaultArea, Vector3.zero); TestNavMeshExistsAloneAtPosition(k_PrefabDefaultArea, Vector3.zero);
var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>(); var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>();
...@@ -321,7 +322,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenInstanceRebaked_HasDifferentNavMeshD ...@@ -321,7 +322,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenInstanceRebaked_HasDifferentNavMeshD
var instanceCloneNavMeshData = instanceCloneSurface.navMeshData; var instanceCloneNavMeshData = instanceCloneSurface.navMeshData;
AssetDatabase.OpenAsset(prefab); AssetDatabase.OpenAsset(prefab);
var prefabStage = StageNavigationManager.instance.GetCurrentPrefabStage(); var prefabStage = PrefabStageUtility.GetCurrentPrefabStage();
var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>(); var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>();
var prefabNavMeshData = prefabSurface.navMeshData; var prefabNavMeshData = prefabSurface.navMeshData;
Assert.AreNotSame(instanceNavMeshData, prefabNavMeshData); Assert.AreNotSame(instanceNavMeshData, prefabNavMeshData);
...@@ -364,7 +365,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenInstanceCleared_InstanceHasEmptyNavM ...@@ -364,7 +365,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenInstanceCleared_InstanceHasEmptyNavM
var instanceCloneNavMeshData = instanceCloneSurface.navMeshData; var instanceCloneNavMeshData = instanceCloneSurface.navMeshData;
AssetDatabase.OpenAsset(prefab); AssetDatabase.OpenAsset(prefab);
var prefabStage = StageNavigationManager.instance.GetCurrentPrefabStage(); var prefabStage = PrefabStageUtility.GetCurrentPrefabStage();
var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>(); var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>();
var prefabNavMeshData = prefabSurface.navMeshData; var prefabNavMeshData = prefabSurface.navMeshData;
Assert.AreNotSame(prefabNavMeshData, instanceSurface.navMeshData); Assert.AreNotSame(prefabNavMeshData, instanceSurface.navMeshData);
...@@ -396,7 +397,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenInstanceCleared_PrefabKeepsNavMeshDa ...@@ -396,7 +397,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenInstanceCleared_PrefabKeepsNavMeshDa
Assert.IsFalse(HasNavMeshAtPosition(Vector3.zero, expectedAreaMask)); Assert.IsFalse(HasNavMeshAtPosition(Vector3.zero, expectedAreaMask));
AssetDatabase.OpenAsset(prefab); AssetDatabase.OpenAsset(prefab);
var prefabStage = StageNavigationManager.instance.GetCurrentPrefabStage(); var prefabStage = PrefabStageUtility.GetCurrentPrefabStage();
var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>(); var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>();
var prefabNavMeshData = prefabSurface.navMeshData; var prefabNavMeshData = prefabSurface.navMeshData;
Assert.IsNotNull(prefabNavMeshData); Assert.IsNotNull(prefabNavMeshData);
...@@ -425,7 +426,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenRebakedButInstanceModified_DoesNotCh ...@@ -425,7 +426,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenRebakedButInstanceModified_DoesNotCh
TestNavMeshExistsAloneAtPosition(k_RedArea, Vector3.zero); TestNavMeshExistsAloneAtPosition(k_RedArea, Vector3.zero);
AssetDatabase.OpenAsset(prefab); AssetDatabase.OpenAsset(prefab);
var prefabStage = StageNavigationManager.instance.GetCurrentPrefabStage(); var prefabStage = PrefabStageUtility.GetCurrentPrefabStage();
var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>(); var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>();
var initialPrefabNavMeshData = prefabSurface.navMeshData; var initialPrefabNavMeshData = prefabSurface.navMeshData;
yield return BakeNavMeshAsync(() => prefabSurface, k_GrayArea); yield return BakeNavMeshAsync(() => prefabSurface, k_GrayArea);
...@@ -433,7 +434,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenRebakedButInstanceModified_DoesNotCh ...@@ -433,7 +434,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenRebakedButInstanceModified_DoesNotCh
StageNavigationManager.instance.GoToMainStage(); StageNavigationManager.instance.GoToMainStage();
AssetDatabase.OpenAsset(prefab); AssetDatabase.OpenAsset(prefab);
var prefabStageReopened = StageNavigationManager.instance.GetCurrentPrefabStage(); var prefabStageReopened = PrefabStageUtility.GetCurrentPrefabStage();
var prefabSurfaceReopened = prefabStageReopened.prefabContentsRoot.GetComponent<NavMeshSurface>(); var prefabSurfaceReopened = prefabStageReopened.prefabContentsRoot.GetComponent<NavMeshSurface>();
var prefabNavMeshData = prefabSurfaceReopened.navMeshData; var prefabNavMeshData = prefabSurfaceReopened.navMeshData;
Assert.IsNotNull(prefabNavMeshData); Assert.IsNotNull(prefabNavMeshData);
...@@ -453,7 +454,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenRebakedButNotSaved_RevertsToTheIniti ...@@ -453,7 +454,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenRebakedButNotSaved_RevertsToTheIniti
{ {
var prefab = AssetDatabase.LoadAssetAtPath<GameObject>(m_PrefabPath); var prefab = AssetDatabase.LoadAssetAtPath<GameObject>(m_PrefabPath);
AssetDatabase.OpenAsset(prefab); AssetDatabase.OpenAsset(prefab);
var prefabStage = StageNavigationManager.instance.GetCurrentPrefabStage(); var prefabStage = PrefabStageUtility.GetCurrentPrefabStage();
var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>(); var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>();
var initialPrefabNavMeshData = prefabSurface.navMeshData; var initialPrefabNavMeshData = prefabSurface.navMeshData;
yield return BakeNavMeshAsync(() => prefabSurface, k_GrayArea); yield return BakeNavMeshAsync(() => prefabSurface, k_GrayArea);
...@@ -464,7 +465,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenRebakedButNotSaved_RevertsToTheIniti ...@@ -464,7 +465,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenRebakedButNotSaved_RevertsToTheIniti
StageNavigationManager.instance.GoToMainStage(); StageNavigationManager.instance.GoToMainStage();
AssetDatabase.OpenAsset(prefab); AssetDatabase.OpenAsset(prefab);
var prefabStageReopened = StageNavigationManager.instance.GetCurrentPrefabStage(); var prefabStageReopened = PrefabStageUtility.GetCurrentPrefabStage();
var prefabSurfaceReopened = prefabStageReopened.prefabContentsRoot.GetComponent<NavMeshSurface>(); var prefabSurfaceReopened = prefabStageReopened.prefabContentsRoot.GetComponent<NavMeshSurface>();
var prefabNavMeshData = prefabSurfaceReopened.navMeshData; var prefabNavMeshData = prefabSurfaceReopened.navMeshData;
Assert.AreSame(initialPrefabNavMeshData, prefabNavMeshData); Assert.AreSame(initialPrefabNavMeshData, prefabNavMeshData);
...@@ -481,7 +482,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenRebakedButNotSaved_TheRebakedAssetNo ...@@ -481,7 +482,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenRebakedButNotSaved_TheRebakedAssetNo
{ {
var prefab = AssetDatabase.LoadAssetAtPath<GameObject>(m_PrefabPath); var prefab = AssetDatabase.LoadAssetAtPath<GameObject>(m_PrefabPath);
AssetDatabase.OpenAsset(prefab); AssetDatabase.OpenAsset(prefab);
var prefabStage = StageNavigationManager.instance.GetCurrentPrefabStage(); var prefabStage = PrefabStageUtility.GetCurrentPrefabStage();
var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>(); var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>();
yield return BakeNavMeshAsync(() => prefabSurface, k_GrayArea); yield return BakeNavMeshAsync(() => prefabSurface, k_GrayArea);
var assetFolderPath = NavMeshSurfaceEditor.GetAndEnsureTargetPath(prefabSurface); var assetFolderPath = NavMeshSurfaceEditor.GetAndEnsureTargetPath(prefabSurface);
...@@ -502,7 +503,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenRebaked_TheOldAssetExistsUntilSaving ...@@ -502,7 +503,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenRebaked_TheOldAssetExistsUntilSaving
{ {
var prefab = AssetDatabase.LoadAssetAtPath<GameObject>(m_PrefabPath); var prefab = AssetDatabase.LoadAssetAtPath<GameObject>(m_PrefabPath);
AssetDatabase.OpenAsset(prefab); AssetDatabase.OpenAsset(prefab);
var prefabStage = StageNavigationManager.instance.GetCurrentPrefabStage(); var prefabStage = PrefabStageUtility.GetCurrentPrefabStage();
var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>(); var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>();
var initialAssetPath = AssetDatabase.GetAssetPath(prefabSurface.navMeshData); var initialAssetPath = AssetDatabase.GetAssetPath(prefabSurface.navMeshData);
...@@ -528,7 +529,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenRebakedAndAutoSaved_InstanceHasTheNe ...@@ -528,7 +529,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenRebakedAndAutoSaved_InstanceHasTheNe
var prefab = AssetDatabase.LoadAssetAtPath<GameObject>(m_PrefabPath); var prefab = AssetDatabase.LoadAssetAtPath<GameObject>(m_PrefabPath);
AssetDatabase.OpenAsset(prefab); AssetDatabase.OpenAsset(prefab);
var prefabStage = StageNavigationManager.instance.GetCurrentPrefabStage(); var prefabStage = PrefabStageUtility.GetCurrentPrefabStage();
var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>(); var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>();
var initialPrefabNavMeshData = prefabSurface.navMeshData; var initialPrefabNavMeshData = prefabSurface.navMeshData;
yield return BakeNavMeshAsync(() => prefabSurface, k_GrayArea); yield return BakeNavMeshAsync(() => prefabSurface, k_GrayArea);
...@@ -539,7 +540,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenRebakedAndAutoSaved_InstanceHasTheNe ...@@ -539,7 +540,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenRebakedAndAutoSaved_InstanceHasTheNe
StageNavigationManager.instance.GoToMainStage(); StageNavigationManager.instance.GoToMainStage();
AssetDatabase.OpenAsset(prefab); AssetDatabase.OpenAsset(prefab);
var prefabStageReopened = StageNavigationManager.instance.GetCurrentPrefabStage(); var prefabStageReopened = PrefabStageUtility.GetCurrentPrefabStage();
var prefabSurfaceReopened = prefabStageReopened.prefabContentsRoot.GetComponent<NavMeshSurface>(); var prefabSurfaceReopened = prefabStageReopened.prefabContentsRoot.GetComponent<NavMeshSurface>();
var prefabNavMeshData = prefabSurfaceReopened.navMeshData; var prefabNavMeshData = prefabSurfaceReopened.navMeshData;
Assert.AreNotSame(initialPrefabNavMeshData, prefabNavMeshData); Assert.AreNotSame(initialPrefabNavMeshData, prefabNavMeshData);
...@@ -617,7 +618,7 @@ public IEnumerator NavMeshSurfacePrefab_AfterModifiedInstanceAppliedBack_Updated ...@@ -617,7 +618,7 @@ public IEnumerator NavMeshSurfacePrefab_AfterModifiedInstanceAppliedBack_Updated
TestNavMeshExistsAloneAtPosition(k_RedArea, instanceTwo.transform.position); TestNavMeshExistsAloneAtPosition(k_RedArea, instanceTwo.transform.position);
AssetDatabase.OpenAsset(prefab); AssetDatabase.OpenAsset(prefab);
var prefabStage = StageNavigationManager.instance.GetCurrentPrefabStage(); var prefabStage = PrefabStageUtility.GetCurrentPrefabStage();
var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>(); var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>();
yield return BakeNavMeshAsync(() => prefabSurface, k_GrayArea); yield return BakeNavMeshAsync(() => prefabSurface, k_GrayArea);
prefabStage.SavePrefab(); prefabStage.SavePrefab();
...@@ -652,7 +653,7 @@ public IEnumerator NavMeshSurfacePrefab_AfterClearedInstanceAppliedBack_HasEmpty ...@@ -652,7 +653,7 @@ public IEnumerator NavMeshSurfacePrefab_AfterClearedInstanceAppliedBack_HasEmpty
PrefabUtility.ApplyPrefabInstance(instance); PrefabUtility.ApplyPrefabInstance(instance);
AssetDatabase.OpenAsset(prefab); AssetDatabase.OpenAsset(prefab);
var prefabStage = StageNavigationManager.instance.GetCurrentPrefabStage(); var prefabStage = PrefabStageUtility.GetCurrentPrefabStage();
var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>(); var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>();
Assert.IsNull(prefabSurface.navMeshData); Assert.IsNull(prefabSurface.navMeshData);
...@@ -733,7 +734,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenBakingInPreviewScene_CollectsOnlyPre ...@@ -733,7 +734,7 @@ public IEnumerator NavMeshSurfacePrefab_WhenBakingInPreviewScene_CollectsOnlyPre
var prefab = AssetDatabase.LoadAssetAtPath<GameObject>(m_PrefabPath); var prefab = AssetDatabase.LoadAssetAtPath<GameObject>(m_PrefabPath);
AssetDatabase.OpenAsset(prefab); AssetDatabase.OpenAsset(prefab);
var prefabStage = StageNavigationManager.instance.GetCurrentPrefabStage(); var prefabStage = PrefabStageUtility.GetCurrentPrefabStage();
var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>(); var prefabSurface = prefabStage.prefabContentsRoot.GetComponent<NavMeshSurface>();
prefabSurface.collectObjects = CollectObjects.All; prefabSurface.collectObjects = CollectObjects.All;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册