/// <summary> /// 激活界面。 /// </summary> /// <param name="uiForm">要激活的界面。</param> /// <param name="userData">用户自定义数据。</param> public void RefocusUIForm(IUIForm uiForm, object userData) { UIFormInfo uiFormInfo = GetUIFormInfo(uiForm); Guard.Requires <ArgumentException>(uiFormInfo != null, "Can not find UI form info."); m_UIFormInfos.Remove(uiFormInfo); m_UIFormInfos.AddFirst(uiFormInfo); }
public static void OpenUIForm(this IUIManager uiManager, int uiFormId, object userData = null) { Guard.Verify <LogicException>(GetUIFormInfo == null, "Must transfer the Extend() method before GetUIFormInfo() method."); UIFormInfo uiFormInfo = GetUIFormInfo(uiFormId); if (uiManager.HasUIForm(uiFormInfo.AssetName)) { return; } uiManager.OpenUIForm(uiFormInfo.AssetName, uiFormInfo.UIGroupName, uiFormInfo.UIGroupDepth, uiFormInfo.PauseCoveredUIForm, userData); }
private void RefreshUIForm(UIFormInfo uiFormInfo, bool pause, bool cover, int depthInUIGroup) { uiFormInfo.UIForm.OnDepthChanged(Depth, depthInUIGroup); if (pause) { if (!uiFormInfo.Covered) { uiFormInfo.Covered = true; uiFormInfo.UIForm.OnCover(); } if (!uiFormInfo.Paused) { uiFormInfo.Paused = true; uiFormInfo.UIForm.OnPause(); } } else { if (cover) { if (!uiFormInfo.Covered) { uiFormInfo.Covered = true; uiFormInfo.UIForm.OnCover(); } } else { if (uiFormInfo.Paused) { uiFormInfo.Paused = false; uiFormInfo.UIForm.OnResume(); } if (uiFormInfo.Covered) { uiFormInfo.Covered = false; uiFormInfo.UIForm.OnReveal(); } } } }
public static bool HasUIForm <T>(this IUIManager uiManager, int uiFormId, string uiGroupName = null) where T : IDataRow { Guard.Verify <LogicException>(GetUIFormInfo == null, "Must transfer the Extend() method before GetUIFormInfo() method."); UIFormInfo uiFormInfo = GetUIFormInfo(uiFormId); if (string.IsNullOrEmpty(uiGroupName)) { return(uiManager.HasUIForm(uiFormInfo.AssetName)); } IUIGroup uiGroup = uiManager.GetUIGroup(uiGroupName); if (uiGroup == null) { return(false); } return(uiGroup.HasUIForm(uiFormInfo.AssetName)); }
public static IUIForm GetUIForm(this IUIManager uiManager, int uiFormId, string uiGroupName = null) { Guard.Verify <LogicException>(GetUIFormInfo == null, "Must transfer the Extend() method before GetUIFormInfo() method."); UIFormInfo uiFormInfo = GetUIFormInfo(uiFormId); if (string.IsNullOrEmpty(uiGroupName)) { return(uiManager.GetUIForm(uiFormInfo.AssetName)); } IUIGroup uiGroup = uiManager.GetUIGroup(uiGroupName); if (uiGroup == null) { return(null); } return((UIForm)uiGroup.GetUIForm(uiFormInfo.AssetName)); }
/// <summary> /// 从界面组移除界面。 /// </summary> /// <param name="uiForm">要移除的界面。</param> public void RemoveUIForm(IUIForm uiForm) { UIFormInfo uiFormInfo = GetUIFormInfo(uiForm); Guard.Requires <ArgumentException>(uiForm != null, $"Can not find UI form asset name is '{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 AddUIForm(IUIForm uiForm) { UIFormInfo uiFormInfo = new UIFormInfo(uiForm); m_UIFormInfos.AddFirst(uiFormInfo); }