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