/// <summary> /// 从界面组移除界面。 /// </summary> /// <param name="uiForm">要移除的界面。</param> public void RemoveUIForm(IUIForm uiForm) { UIFormInfo uiFormInfo = GetUIFormInfo(uiForm); if (uiFormInfo == null) { throw new GameFrameworkException(Utility.Text.Format("Can not find UI form info for serial id '{0}', UI form asset name is '{1}'.", uiForm.SerialId.ToString(), uiForm.UIFormAssetName)); } if (!uiFormInfo.Covered) { uiFormInfo.Covered = true; uiForm.OnCover(); } if (!uiFormInfo.Paused) { uiFormInfo.Paused = true; uiForm.OnPause(); } if (m_CachedNode != null && m_CachedNode.Value.UIForm == uiForm) { m_CachedNode = m_CachedNode.Next; } if (!m_UIFormInfos.Remove(uiFormInfo)) { throw new GameFrameworkException(Utility.Text.Format("UI group '{0}' not exists specified UI form '[{1}]{2}'.", m_Name, uiForm.SerialId.ToString(), uiForm.UIFormAssetName)); } ReferencePool.Release(uiFormInfo); }
/// <summary> /// 激活界面。 /// </summary> /// <param name="uiForm">要激活的界面。</param> /// <param name="userData">用户自定义数据。</param> public void RefocusUIForm(IUIForm uiForm, object userData) { UIFormInfo uiFormInfo = GetUIFormInfo(uiForm); if (uiFormInfo == null) { throw new GameFrameworkException("Can not find UI form info."); } m_UIFormInfos.Remove(uiFormInfo); m_UIFormInfos.AddFirst(uiFormInfo); }
/// <summary> /// 从界面组移除界面。 /// </summary> /// <param name="uiForm">要移除的界面。</param> public void RemoveUIForm(IUIForm uiForm) { UIFormInfo uiFormInfo = GetUIFormInfo(uiForm); if (uiFormInfo == null) { Log.Error(string.Format("Can not find UI form info for serial id '{0}', UI form asset name is '{1}'.", uiForm.SerialId.ToString(), uiForm.UIFormAssetName)); } m_UIFormInfos.Remove(uiFormInfo); }
/// <summary> /// 激活界面。 /// </summary> /// <param name="uiForm">要激活的界面。</param> /// <param name="userData">用户自定义数据。</param> public void RefocusUIForm(IUIForm uiForm, object userData) { UIFormInfo uiFormInfo = GetUIFormInfo(uiForm); if (uiFormInfo == null) { Log.Error("Can not find UI form info."); } m_UIFormInfos.Remove(uiFormInfo); m_UIFormInfos.AddFirst(uiFormInfo); uiForm.OnOpen(userData); }
public static UIFormInfo Create(IUIForm uiForm) { if (uiForm == null) { throw new GXException("UI form is invalid."); } UIFormInfo uiFormInfo = ReferencePool.Acquire <UIFormInfo>(); uiFormInfo.m_UIForm = uiForm; uiFormInfo.m_Paused = true; uiFormInfo.m_Covered = true; return(uiFormInfo); }
/// <summary> /// 从界面组移除界面。 /// </summary> /// <param name="uiForm">要移除的界面。</param> public void RemoveUIForm(IUIForm uiForm) { UIFormInfo uiFormInfo = GetUIFormInfo(uiForm); if (uiFormInfo == null) { throw new GameFrameworkException(Utility.Text.Format("Can not find UI form info for serial id '{0}', UI form asset name is '{1}'.", uiForm.SerialId.ToString(), uiForm.UIFormAssetName)); } if (!uiFormInfo.Covered) { uiFormInfo.Covered = true; uiForm.OnCover(); } if (!uiFormInfo.Paused) { uiFormInfo.Paused = true; uiForm.OnPause(); } m_UIFormInfos.Remove(uiFormInfo); }
/// <summary> /// 从界面组移除界面。 /// </summary> /// <param name="uiForm">要移除的界面。</param> public void RemoveUIForm(IUIForm uiForm) { UIFormInfo uiFormInfo = GetUIFormInfo(uiForm); if (uiFormInfo == null) { throw new GameFrameworkException(string.Format("Can not find UI form info for type '{0}'.", uiForm.TypeId.ToString())); } if (!uiFormInfo.Covered) { uiFormInfo.Covered = true; uiForm.OnCover(); } if (!uiFormInfo.Paused) { uiFormInfo.Paused = true; uiForm.OnPause(); } m_UIFormInfos.Remove(uiFormInfo); }
/// <summary> /// 往界面组增加界面。 /// </summary> /// <param name="uiForm">要增加的界面。</param> public void AddUIForm(IUIForm uiForm) { UIFormInfo uiFormInfo = new UIFormInfo(uiForm); m_UIFormInfos.AddFirst(uiFormInfo); }
/// <summary> /// 往界面组增加界面。 /// </summary> /// <param name="uiForm">要增加的界面。</param> public void AddUIForm(IUIForm uiForm) { m_UIFormInfos.AddFirst(UIFormInfo.Create(uiForm)); }