No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CurrentNextOffMeshLinkDataSetUp.cs 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #if UNITY_EDITOR
  2. using UnityEditor;
  3. using UnityEditor.SceneManagement;
  4. #endif
  5. using UnityEngine;
  6. using UnityEngine.AI;
  7. using UnityEngine.SceneManagement;
  8. using Utils = UnityEngine.TestTools.Utils.Utils;
  9. namespace Unity.AI.Navigation.Tests
  10. {
  11. class CurrentNextOffMeshLinkDataSetUp : PrebuiltSceneSetup
  12. {
  13. protected override string GetSceneFile()
  14. {
  15. return "OffMeshLinkTest.unity";
  16. }
  17. protected override void SceneSetup()
  18. {
  19. #if UNITY_EDITOR
  20. var myScene = EditorSceneManager.NewScene(NewSceneSetup.EmptyScene, NewSceneMode.Additive);
  21. SceneManager.SetActiveScene(myScene);
  22. var plane1 = Utils.CreatePrimitive(PrimitiveType.Plane);
  23. GameObjectUtility.SetStaticEditorFlags(plane1, StaticEditorFlags.NavigationStatic);
  24. plane1.name = "Plane1";
  25. plane1.transform.position = Vector3.zero;
  26. var plane2 = Utils.CreatePrimitive(PrimitiveType.Plane);
  27. GameObjectUtility.SetStaticEditorFlags(plane2, StaticEditorFlags.NavigationStatic);
  28. plane2.name = "Plane2";
  29. plane2.transform.position = new Vector3(0, 0, 15);
  30. var offMeshLink = plane1.AddComponent<NavMeshLink>();
  31. offMeshLink.startTransform = plane1.transform;
  32. offMeshLink.endTransform = plane2.transform;
  33. var cube = Utils.CreatePrimitive(PrimitiveType.Cube);
  34. cube.transform.position = new Vector3(0, 0, -4);
  35. cube.name = "Agent";
  36. cube.AddComponent<NavMeshAgent>();
  37. EditorSceneManager.SaveScene(SceneManager.GetActiveScene(), pathToTestScene);
  38. UnityEditor.AI.NavMeshBuilder.BuildNavMesh();
  39. EditorSceneManager.SaveScene(SceneManager.GetActiveScene(), pathToTestScene);
  40. EditorSceneManager.CloseScene(myScene, true);
  41. UnityEditor.AI.NavMeshBuilder.ClearAllNavMeshes();
  42. #endif
  43. }
  44. }
  45. }