using System; using System.Collections; using System.Collections.Generic; using BITKit; using BITKit.Probability; using UnityEngine; namespace BITFALL.LootSystem { public class ScriptableLootTable : ScriptableObject { [SerializeField] private bool enabled; [SerializeField] private string tableName; [SerializeField] private Texture2D icon; [SerializeField] private ItemQuality quality; [Serializable] public struct Table { [SerializeField] private bool enabled; [SerializeField,Range(0,100)] private int probability; [SerializeField] private ScriptableItem item; [SerializeReference,SubclassSelector] private IProbabilityProperty[] properties; public bool Enabled => enabled; public int Probability => probability; public ScriptableItem Item => item; public IProbabilityProperty[] Properties => properties; } [SerializeField] private Table[] tables; public Texture2D Icon => icon; public Table[] Tables => tables; public string Name => tableName; public ItemQuality Quality => quality; public bool Enabled => enabled; } }