using System;
using System.Collections.Generic;
using Sirenix.OdinInspector;

namespace VOID.Generic.DropTable
{
    [Serializable]
    public class DropTable
    {
        [BoxGroup]
        [MinValue(1)]
        [InfoBox("How many times random group will taken. Groups can be taken multiple times unless limit provided.")]
        public int count = 1;
        
        [BoxGroup]
        [RequiredListLength(MinLength = 1)]
        [HideReferenceObjectPicker]
        [ListDrawerSettings(CustomAddFunction = nameof(AddGroup))]
        public List<DropTableGroup> groups = new();
        
        private DropTableGroup AddGroup() => new();
    }
}