private PanelItem[] GetPanelItems() { var array = manager.GetType().GetField("panelItems", System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance) .GetValue(manager) as PanelItem[]; if (array == null) { array = new PanelItem[0]; } return(array); }
/// <summary> /// 创建实例 /// </summary> /// <param name="panel"></param> /// <returns></returns> private GameObject CreateInstence(string panel) { PanelItem panelItem = null; if (itemDic.TryGetValue(panel, out panelItem)) { if (panelItem.prefab != null) { var instence = GameObject.Instantiate(panelItem.prefab); instence.transform.SetParent(transform, false); instence.transform.SetAsLastSibling(); instence.name = panel; var instenceID = instence.GetInstanceID(); panelCatchDic[instenceID] = instence; instenceCatchDic[panel] = instenceID; return(instence); } } return(null); }