using System.Collections.Generic;
using Sirenix.OdinInspector;
using UnityEngine;
using VOID.Generic.Requirement;
using VOID.Generic.Status.Effect;

namespace VOID.Generic.Objects.Usable
{
    [System.Serializable]
    public class UsableObjectData : ObjectComponent<UsableObject>
    {
        [Title("Usable attributes")]
        [SerializeReference]
        public List<BasicEffect> applyOnUse = new();

        [Title("Stacks")]
        [MinValue(0)]
        public int stacksPerUse = 1;
        
        [Title("Usage Requirements")]
        [SerializeReference]
        public List<IUnitRequirement> requirements = new();
    }
}
