using System.Collections.Generic; using UnityEngine; public abstract class RuntimeSetSO : ScriptableObject { [HideInInspector] [SerializeField] private List items = new(); public IReadOnlyCollection Items => items; public bool IsEmpty => items.Count == 0; public void Add(T thing) { if (!items.Contains(thing)) { items.Add(thing); } } public void Remove(T thing) { if (items.Contains(thing)) { items.Remove(thing); } } }