diff --git a/Runtime/UI/UIBase/UIBase.cs b/Runtime/UI/UIBase/UIBase.cs index d702b26..0976149 100644 --- a/Runtime/UI/UIBase/UIBase.cs +++ b/Runtime/UI/UIBase/UIBase.cs @@ -217,8 +217,9 @@ namespace AlicizaX.UI.Runtime { _state = UIState.Opened; Visible = true; - Holder.OnWindowShowEvent?.Invoke(); + Holder.OnWindowBeforeShowEvent?.Invoke(); await OnOpenAsync(); + Holder.OnWindowAfterShowEvent?.Invoke(); } } @@ -226,10 +227,11 @@ namespace AlicizaX.UI.Runtime { if (_state == UIState.Opened) { - Holder.OnWindowClosedEvent?.Invoke(); + Holder.OnWindowBeforeClosedEvent?.Invoke(); await OnCloseAsync(); _state = UIState.Closed; Visible = false; + Holder.OnWindowAfterClosedEvent?.Invoke(); } } diff --git a/Runtime/UI/UIBase/UIHolderObjectBase.cs b/Runtime/UI/UIBase/UIHolderObjectBase.cs index 6a553df..c94effd 100644 --- a/Runtime/UI/UIBase/UIHolderObjectBase.cs +++ b/Runtime/UI/UIBase/UIHolderObjectBase.cs @@ -8,8 +8,10 @@ namespace AlicizaX.UI.Runtime public abstract class UIHolderObjectBase : UnityEngine.MonoBehaviour { public Action OnWindowInitEvent; - public Action OnWindowShowEvent; - public Action OnWindowClosedEvent; + public Action OnWindowBeforeShowEvent; + public Action OnWindowAfterShowEvent; + public Action OnWindowBeforeClosedEvent; + public Action OnWindowAfterClosedEvent; public Action OnWindowDestroyEvent;