SpritePivotAlignment.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using System;
  2. using UnityEngine;
  3. public static class SpritePivotAlignment
  4. {
  5. public static SpriteAlignment GetSpriteAlignment(GameObject SpriteObject)
  6. {
  7. BoxCollider2D boxCollider2D = SpriteObject.AddComponent<BoxCollider2D>();
  8. boxCollider2D.enabled = false;
  9. float x = boxCollider2D.offset.x;
  10. float y = boxCollider2D.offset.y;
  11. if (x > 0f && y < 0f)
  12. {
  13. return SpriteAlignment.TopLeft;
  14. }
  15. if (x < 0f && y < 0f)
  16. {
  17. return SpriteAlignment.TopRight;
  18. }
  19. if (x == 0f && y < 0f)
  20. {
  21. return SpriteAlignment.TopCenter;
  22. }
  23. if (x > 0f && y == 0f)
  24. {
  25. return SpriteAlignment.LeftCenter;
  26. }
  27. if (x < 0f && y == 0f)
  28. {
  29. return SpriteAlignment.RightCenter;
  30. }
  31. if (x > 0f && y > 0f)
  32. {
  33. return SpriteAlignment.BottomLeft;
  34. }
  35. if (x < 0f && y > 0f)
  36. {
  37. return SpriteAlignment.BottomRight;
  38. }
  39. if (x == 0f && y > 0f)
  40. {
  41. return SpriteAlignment.BottomCenter;
  42. }
  43. if (x == 0f && y == 0f)
  44. {
  45. return SpriteAlignment.Center;
  46. }
  47. return SpriteAlignment.Custom;
  48. }
  49. }