ExtensionTransform.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using UnityEngine;
  2. using System;
  3. using System.Collections;
  4. public static class ExtensionTransform
  5. {
  6. public static void SetX(this Transform tra, float x)
  7. {
  8. tra.position = new Vector3(x, tra.position.y, tra.position.z);
  9. }
  10. public static void SetY(this Transform tra, float y)
  11. {
  12. tra.position = new Vector3(tra.position.x, y, tra.position.z);
  13. }
  14. public static void SetZ(this Transform tra, float z)
  15. {
  16. tra.position = new Vector3(tra.position.x, tra.position.y, z);
  17. }
  18. public static void SetLX(this Transform tra, float x)
  19. {
  20. tra.localPosition = new Vector3(x, tra.localPosition.y, tra.localPosition.z);
  21. }
  22. public static void SetLY(this Transform tra, float y)
  23. {
  24. tra.localPosition = new Vector3(tra.localPosition.x, y, tra.localPosition.z);
  25. }
  26. public static void SetLZ(this Transform tra, float z)
  27. {
  28. tra.localPosition = new Vector3(tra.localPosition.x, tra.localPosition.y, z);
  29. }
  30. public static void SetEX(this Transform tra, float x)
  31. {
  32. tra.eulerAngles = new Vector3(x, tra.eulerAngles.y, tra.eulerAngles.z);
  33. }
  34. public static void SetEY(this Transform tra, float y)
  35. {
  36. tra.eulerAngles = new Vector3(tra.eulerAngles.x, y, tra.eulerAngles.z);
  37. }
  38. public static void SetEZ(this Transform tra, float z)
  39. {
  40. tra.eulerAngles = new Vector3(tra.eulerAngles.x, tra.eulerAngles.y, z);
  41. }
  42. public static Vector3 GetScale(this Transform tra)
  43. {
  44. Vector3 scale = tra.localScale;
  45. while (tra.parent != null)
  46. {
  47. float x = scale.x * tra.parent.localScale.x;
  48. float y = scale.y * tra.parent.localScale.y;
  49. float z = scale.z * tra.parent.localScale.z;
  50. scale = new Vector3(x, y, z);
  51. tra = tra.parent;
  52. }
  53. return scale;
  54. }
  55. public static Component AddComponent(this Transform tra, Type type)
  56. {
  57. return tra.gameObject.AddComponent(type);
  58. }
  59. }