TransformHelper.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using System;
  2. using UnityEngine;
  3. namespace HeroEditor4D.Common.Editor
  4. {
  5. [ExecuteInEditMode]
  6. public class TransformNormalizer : MonoBehaviour
  7. {
  8. public bool ZeroZ;
  9. public bool RoundTransform;
  10. public int RoundTransformDigits;
  11. public void OnEnable()
  12. {
  13. if (ZeroZ)
  14. {
  15. foreach (var t in GetComponentsInChildren<Transform>())
  16. {
  17. t.localPosition = new Vector3(t.localPosition.x, t.localPosition.y, 0);
  18. }
  19. }
  20. if (RoundTransform)
  21. {
  22. foreach (var t in GetComponentsInChildren<Transform>())
  23. {
  24. t.localPosition = new Vector3(
  25. (float) Math.Round(t.localPosition.x, RoundTransformDigits),
  26. (float) Math.Round(t.localPosition.y, RoundTransformDigits),
  27. (float) Math.Round(t.localPosition.z, RoundTransformDigits));
  28. }
  29. }
  30. }
  31. }
  32. }