using System; using Reflex.Attributes; using UnityEngine; namespace Code.Infrastructure.UI { public abstract class UIPanel : MonoBehaviour { public UIPanelType PanelType { get; set; } [SerializeField] protected bool injectMeSenpai; public bool InjectMeSenpai => injectMeSenpai; [Inject] protected EventBus.EventBus _eventBus; public abstract void Open(); public virtual void Close(Action callback = null) => callback?.Invoke(); // Вызвать вручную \ добавить в коллбек для вызова ивента в EventBus public virtual void FireCreatedEvent(){} // Вызвать вручную \ добавить в коллбек для вызова ивента в EventBus public virtual void FireRemovedEvent(){} } }