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.

ChangingHierarchyOfCanvasRenderer.cs 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using UnityEngine;
  2. using UnityEngine.TestTools;
  3. using NUnit.Framework;
  4. using System.Collections;
  5. using UnityEditor.SceneManagement;
  6. public class ChangingHierarchyOfCanvasRenderer
  7. {
  8. [Test]
  9. public void ChangingHierarchyOfCanvasRenderer_DoesntCrash()
  10. {
  11. // Canvas
  12. // - Middle
  13. // - Renderer
  14. // OtherCanvas
  15. var canvasObject = new GameObject("Canvas");
  16. canvasObject.AddComponent<Canvas>();
  17. var otherCanvasObject = new GameObject("OtherCanvas");
  18. otherCanvasObject.AddComponent<Canvas>();
  19. var middleObject = new GameObject("Middle");
  20. middleObject.transform.parent = canvasObject.transform;
  21. var renderObject = new GameObject("Render");
  22. renderObject.AddComponent<CanvasRenderer>();
  23. renderObject.transform.parent = middleObject.transform;
  24. renderObject.SetActive(false);
  25. // Translation causes IgnoreNextTransformChanged to be set on Renderer
  26. canvasObject.transform.Translate(1, 1, 1);
  27. // Reparenting after ignore
  28. middleObject.transform.parent = otherCanvasObject.transform;
  29. // Destroy the original canvas, and create a new scene to force destruction of everything else
  30. GameObject.DestroyImmediate(canvasObject);
  31. EditorSceneManager.NewScene(NewSceneSetup.EmptyScene);
  32. Assert.Pass();
  33. }
  34. }