/// <summary> /// 打开窗体 /// </summary> /// <param name="formPath">窗体路径</param> /// <param name="useFormPool">是否从窗体对象次取</param> /// <param name="useCameraRenderMode">是否使用摄像机渲染</param> /// <returns></returns> public UIFormScript OpenForm(string formPath, bool useFormPool, bool useCameraRenderMode = true) { UIFormScript uiFormScript = GetUnCloseForm(formPath); if (uiFormScript != null && uiFormScript.isSingleton) { RemoveFromExistFormSequenceList(uiFormScript.GetSequence()); AddToExistFormSequenceList(m_formSequence); int formOpenOrder = GetFormOpenOrder(m_formSequence); uiFormScript.Open(m_formSequence, true, formOpenOrder); m_formSequence++; m_needSortForms = true; return(uiFormScript); } GameObject gameObject = CreateForm(formPath, useFormPool); if (gameObject == null) { return(null); } if (!gameObject.activeSelf) { gameObject.SetActive(true); } string formName = GetFormName(formPath); gameObject.name = formName; if (gameObject.transform.parent != m_uiRoot.transform) { gameObject.transform.SetParent(m_uiRoot.transform); } uiFormScript = gameObject.GetComponent <UIFormScript>(); if (uiFormScript != null) { AddToExistFormSequenceList(m_formSequence); int formOpenOrder2 = GetFormOpenOrder(m_formSequence); uiFormScript.Open(formPath, (!useCameraRenderMode) ? null : m_formCamera, m_formSequence, false, formOpenOrder2); if (uiFormScript.group > 0) { CloseGroupForm(uiFormScript.group); } m_forms.Add(uiFormScript); } m_formSequence++; m_needSortForms = true; return(uiFormScript); }