namespace Zinnia.Data.Collection.List { using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; /// /// Allows observing changes to a of s. /// public class GameObjectRelationObservableList : DefaultObservableList { /// /// A relationship between a key and its associated value . /// [Serializable] public class Relation { [Tooltip("The GameObject acting as the key.")] [SerializeField] private GameObject key; /// /// The acting as the key. /// public GameObject Key { get { return key; } set { key = value; } } [Tooltip("The GameObject acting as the value.")] [SerializeField] private GameObject value; /// /// The acting as the value. /// public GameObject Value { get { return value; } set { this.value = value; } } /// /// Clears . /// public virtual void ClearKey() { Key = default; } /// /// Clears . /// public virtual void ClearValue() { Value = default; } } /// /// Defines the event with the . /// [Serializable] public class UnityEvent : UnityEvent { } } }