protected virtual void OnPanelBaseDestory() { try { Release(); if (dicActiveTabGrid != null) { dicActiveTabGrid.Clear(); dicActiveTabGrid = null; } if (dicUITabGrid != null) { dicUITabGrid.Clear(); dicUITabGrid = null; } } catch (Exception e) { Debug.LogError(gameObject.name + "->OnPanelBaseDestory Error message:" + e.Message); } Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENT_PANELSTATUS , PanelStatusData.Create(PanelId, PanelStatus.Destroy, gameObject)); }
/// <summary> /// 界面隐藏 /// </summary> /// <param name="action"></param> public void HidePanel(System.Action action = null) { Action onHideAction = delegate { try { //SetVisible(false); OnHide(); } catch (Exception e) { Debug.LogError(gameObject.name + "->HidePanel Error message:" + e.Message); } //发送面板显示事件 Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENT_PANELSTATUS , PanelStatusData.Create(PanelId, PanelStatus.Hide)); }; if (null != action) { onHideAction += action; } if (mbAnimEnable) { AnimOut(delegate { onHideAction.Invoke(); }); } else { onHideAction.Invoke(); } }
/// <summary> /// 界面显示 /// </summary> /// <param name="data"></param> public void ShowPanel(object data = null, PanelJumpData jumpData = null) { try { cacheData = data; //if (!Visible) { OnPrepareShow(data); //发送面板显示事件 Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENT_PANELSTATUS , PanelStatusData.Create(PanelId, PanelStatus.PrepareShow)); } CacheTransform.localPosition = Vector3.zero; ResetAnchor(); SetVisible(true); //发送面板显示事件 Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENT_PANELSTATUS , PanelStatusData.Create(PanelId, PanelStatus.Show)); OnShow(data); OnJump(jumpData); if (mbAnimEnable) { AnimIn(null); } } catch (Exception e) { Debug.LogError(gameObject.name + "->ShowPanel Error message:" + e.Message); } try { OnPanelReady(); } catch (System.Exception ex) { Debug.LogError(gameObject.name + "->OnPanelReady Error message:" + ex.Message); } }
protected override void OnAwake() { base.OnAwake(); try { OnInitPanelData(); InitControls(); RegisterControlEvents(); OnLoading(); }catch (Exception e) { Debug.LogError(gameObject.name + "->OnAwake Error message:" + e.Message); } //发送panelAwake事件 Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENT_PANELSTATUS, PanelStatusData.Create(PanelId, PanelStatus.Awake)); }