public void OpenForm(int formId, object userdata = null) { if (uiCamera == null) { Debug.LogError("请先初始化UI模块!"); return; } UIFormTableSetting config = UIFormTableSettings.Get((int)formId); if (config == null) { Debug.LogError("The UI[" + formId.ToString() + "] is not configed!"); return; } //暂时关闭窗口复用 UIFormBase form = GetForm(formId); if (form != null) { CloseForm(form); } //if (form == null) { ResourceManager.LoadGameObject("UI/" + config.Path, LoadFormSuccess, LoadFormFailed, config, userdata); return; } //ProcessForm(form, config, userdata, true); }
static void SeletEnable() { IEnumerable enumerable = UIFormTableSettings.GetAll(); string result = ""; foreach (UIFormTableSetting form in enumerable) { result += string.Format(@" ///<summary>{0}</summary> {1} = {2}, ", form.Desc, form.Name, form.Id); } CreateScript(result); AssetDatabase.Refresh(); }
/// <summary> /// 获取最新的一个打开的这个ID的窗口 /// </summary> UIFormBase FindForm(int formId) { UIFormTableSetting config = UIFormTableSettings.Get((int)formId); if (config == null) { Debug.LogError("The UI[" + formId.ToString() + "] is not configed!"); return(null); } UIFormBase form = null; List <UIFormBase> list = null; switch ((UIFormsShowMode)config.ShowMode) { case UIFormsShowMode.Pop: list = dicForms[UIFormsShowMode.Pop]; break; case UIFormsShowMode.HideOther: list = dicForms[UIFormsShowMode.HideOther]; break; case UIFormsShowMode.Single: list = dicForms[UIFormsShowMode.Single]; break; case UIFormsShowMode.Normal: default: list = dicForms[UIFormsShowMode.Normal]; break; } for (int i = list.Count - 1; i >= 0; i--) { if (list[i] != null && list[i].Table.Id == config.Id) { form = list[i]; break; } } return(form); }
public UIFormBase GetForm(int formId) { UIFormTableSetting config = UIFormTableSettings.Get((int)formId); if (config == null) { Debug.LogError("The UI[" + formId.ToString() + "] is not configed!"); return(null); } //可以重复打开多个 if ((UIFormsGroup)config.Group == UIFormsGroup.Toast || (UIFormsGroup)config.Group == UIFormsGroup.Dialog) { return(null); } UIFormBase form = null; switch ((UIFormsShowMode)config.ShowMode) { case UIFormsShowMode.Pop: foreach (var item in dicForms[UIFormsShowMode.Pop]) { if (item != null && item.Table.Id == config.Id) { form = item; } } break; case UIFormsShowMode.HideOther: foreach (var item in dicForms[UIFormsShowMode.HideOther]) { if (item != null && item.Table.Id == config.Id) { form = item; } } break; case UIFormsShowMode.Single: foreach (var item in dicForms[UIFormsShowMode.Single]) { if (item != null && item.Table.Id == config.Id) { form = item; } } break; case UIFormsShowMode.Normal: default: foreach (var item in dicForms[UIFormsShowMode.Normal]) { if (item != null && item.Table.Id == config.Id) { form = item; } } break; } return(form); }