public IWindowBase Open(UGUI_TYPE uiType, UGUI_TYPE parentUIType = UGUI_TYPE._BEGIN) { IWindowBase uiwindow; m_loadedWindow.TryGetValue(uiType, out uiwindow); if (uiwindow == null) { uiwindow = CreateWindow(uiType); if (uiwindow == null) { return(null); } if (!uiwindow.Is3D()) { m_root2D.Add(uiwindow); } } else { m_root2D.SortChildLayer(uiwindow); //还未销毁,就重新排序 } uiwindow.Open(); if (!uiwindow.Is3D()) { UIBase2D uibase2D = uiwindow as UIBase2D; if (uibase2D.Getlayer() == UGUI_LAYER.MENU) { SetMainUIActive(false); } } HideMainCamera(); if (parentUIType != UGUI_TYPE._BEGIN) { ParentUIStruct parentUI = new ParentUIStruct(); parentUI.ParentUI = parentUIType; parentUI.ChildUI = uiType; m_ParentUI.Push(parentUI); } return(uiwindow); }