예제 #1
0
    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);
    }
예제 #2
0
    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();
    }
예제 #3
0
    /// <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);
    }
예제 #4
0
    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);
    }