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
}
}