using UnityEngine; namespace DDD { public abstract class BaseUi : MonoBehaviour { public virtual bool IsBlockingTime => false; public virtual bool IsOpen => gameObject.activeSelf; protected virtual void Start() { TryRegister(); } protected virtual void OnDestroy() { TryUnregister(); } protected virtual void TryRegister() { } protected virtual void TryUnregister() { } public virtual void Open() => gameObject.SetActive(true); public virtual void Close() => gameObject.SetActive(false); } }