using UnityEngine;

namespace YachtDice.Dice
{
    /// <summary>
    /// Стандартный дайс с настраиваемыми значениями граней.
    /// По умолчанию — классический d6 (1-6).
    /// </summary>
    [CreateAssetMenu(fileName = "StandardDie", menuName = "YachtDice/Dice/Standard Die")]
    public class StandardDieSO : DieDefinitionSO
    {
        [Header("Configuration")]
        [SerializeField] private int[] faceValues = { 1, 2, 3, 4, 5, 6 };

        public override int FaceCount => faceValues.Length;

        public override int[] GetFaceValues()
        {
            int[] copy = new int[faceValues.Length];
            System.Array.Copy(faceValues, copy, faceValues.Length);
            return copy;
        }

#if UNITY_EDITOR
        public static StandardDieSO CreateStandardD6ForTest()
        {
            var so = CreateForTest<StandardDieSO>("standard_d6", "Стандартный d6");
            so.faceValues = new[] { 1, 2, 3, 4, 5, 6 };
            return so;
        }
#endif
    }
}
