using UnityEngine; namespace Ashwild.UI { /// /// Visual configuration for one crosshair state (e.g. the idle dot or the /// interact hand): which sprite to show, its tint and its size. Authored as a /// ScriptableObject so the look is tuned in the editor without touching code. /// [CreateAssetMenu(fileName = "CrosshairState", menuName = "UI/Crosshair State")] public class CrosshairState : ScriptableObject { #region Serialized Fields [Header("Appearance")] /// /// Sprite the crosshair icon shows while in this state. /// [SerializeField] private Sprite sprite; /// /// Tint applied to the crosshair icon in this state. /// [SerializeField] private Color color = Color.white; /// /// Icon size (RectTransform sizeDelta, in pixels) for this state. /// [SerializeField] private Vector2 size = new Vector2(8f, 8f); #endregion #region Public API /// /// Sprite the crosshair icon shows while in this state. /// public Sprite Sprite => sprite; /// /// Tint applied to the crosshair icon in this state. /// public Color Color => color; /// /// Icon size (RectTransform sizeDelta, in pixels) for this state. /// public Vector2 Size => size; #endregion } }