Brak opisu
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.

RectMask2DCulling.cs 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using NUnit.Framework;
  2. using UnityEngine;
  3. using UnityEngine.UI;
  4. public class RectMask2DCulling : TestBehaviourBase<UnityEngine.Canvas>
  5. {
  6. [Test]
  7. public void CullFlagNotResetWhenReparented740604()
  8. {
  9. var noMaskGameObject = new GameObject("noMaskGO");
  10. noMaskGameObject.AddComponent<RectTransform>();
  11. var maskGameObject = new GameObject("MaskGO");
  12. var rectMask2D = maskGameObject.AddComponent<RectMask2D>();
  13. noMaskGameObject.transform.SetParent(m_TestObject.transform);
  14. maskGameObject.transform.SetParent(m_TestObject.transform);
  15. noMaskGameObject.GetComponent<RectTransform>().sizeDelta = new Vector2(800, 800);
  16. maskGameObject.GetComponent<RectTransform>().sizeDelta = new Vector2(400, 400);
  17. var imageGameObject = new GameObject("ImageGO");
  18. var image = imageGameObject.AddComponent<Image>();
  19. imageGameObject.transform.SetParent(maskGameObject.transform);
  20. imageGameObject.GetComponent<RectTransform>().sizeDelta = new Vector2(100, 100);
  21. // Start with image inside RectMask2D area so that it's no culled
  22. rectMask2D.PerformClipping();
  23. Assert.IsFalse(image.canvasRenderer.cull);
  24. // Move image outside of RectMask2D so that it is culled
  25. imageGameObject.GetComponent<RectTransform>().position = new Vector2(275, 275);
  26. rectMask2D.PerformClipping();
  27. Assert.IsTrue(image.canvasRenderer.cull);
  28. // Change parent to noMask so that it's unaffected by RectMask2D and isn't culled
  29. imageGameObject.transform.SetParent(noMaskGameObject.transform);
  30. rectMask2D.PerformClipping();
  31. Assert.IsFalse(image.canvasRenderer.cull);
  32. }
  33. }