using NEG.UI.Window; using NEG.UI.WindowSlot; using TNRD; using UnityEngine; namespace NEG.UI.UnityUi.WindowSlot { public abstract class MonoWindowSlot : MonoBehaviour, IWindowSlot { [SerializeField] private SerializableInterface slotsHolder; [field: SerializeField] public bool OpenWindowAsMain { get; private set; } public ISlotsHolder ParentHolder => slotsHolder.Value; public abstract void AttachWindow(IWindow window, object data); public abstract void DetachWindow(IWindow window); public abstract void CloseAllWindows(); } }