namespace Zinnia.Data.Collection.List { using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; /// /// An intermediate that defines the collection to prevent needing to redefine in every concrete class. /// /// The type of the elements in the . /// The type to use. public abstract class DefaultObservableList : ObservableList where TEvent : UnityEvent, new() { [Tooltip("The collection to observe changes of.")] [SerializeField] private List elements = new List(); /// /// The collection to observe changes of. /// protected override List Elements { get { return elements; } set { elements = value; } } } }