SpriteState.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using System;
  2. using UnityEngine.Serialization;
  3. namespace UnityEngine.UI
  4. {
  5. [Serializable]
  6. /// <summary>
  7. /// Structure that stores the state of a sprite transition on a Selectable.
  8. /// </summary>
  9. public struct SpriteState : IEquatable<SpriteState>
  10. {
  11. [SerializeField]
  12. private Sprite m_HighlightedSprite;
  13. [SerializeField]
  14. private Sprite m_PressedSprite;
  15. [FormerlySerializedAs("m_HighlightedSprite")]
  16. [SerializeField]
  17. private Sprite m_SelectedSprite;
  18. [SerializeField]
  19. private Sprite m_DisabledSprite;
  20. /// <summary>
  21. /// Highlighted sprite.
  22. /// </summary>
  23. public Sprite highlightedSprite { get { return m_HighlightedSprite; } set { m_HighlightedSprite = value; } }
  24. /// <summary>
  25. /// Pressed sprite.
  26. /// </summary>
  27. public Sprite pressedSprite { get { return m_PressedSprite; } set { m_PressedSprite = value; } }
  28. /// <summary>
  29. /// Selected sprite.
  30. /// </summary>
  31. public Sprite selectedSprite { get { return m_SelectedSprite; } set { m_SelectedSprite = value; } }
  32. /// <summary>
  33. /// Disabled sprite.
  34. /// </summary>
  35. public Sprite disabledSprite { get { return m_DisabledSprite; } set { m_DisabledSprite = value; } }
  36. public bool Equals(SpriteState other)
  37. {
  38. return highlightedSprite == other.highlightedSprite &&
  39. pressedSprite == other.pressedSprite &&
  40. selectedSprite == other.selectedSprite &&
  41. disabledSprite == other.disabledSprite;
  42. }
  43. }
  44. }