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(Action callback = null); public abstract void Close(Action callback = null); public virtual void FireCreatedEvent(){} public virtual void FireRemovedEvent(){} } }