public static UIBehaviour CreatePrefabUI(Object prefab, GameObject inactive_inctance, Type add_component_type, bool initVisible, Transform parent, int depth, GameSceneTables.SectionData section_data) { //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Expected O, but got Unknown //IL_00bb: Unknown result type (might be due to invalid IL or missing references) if (parent == null && MonoBehaviourSingleton <UIManager> .IsValid()) { parent = MonoBehaviourSingleton <UIManager> .I._transform; } string text = prefab.get_name(); if (text.StartsWith("internal__")) { text = text.Substring(text.LastIndexOf("__") + 2); } Transform val = Utility.CreateGameObject(text, parent, 5); val.get_gameObject().AddComponent <UIPanel>(); Transform val2 = null; val2 = ((!(inactive_inctance != null)) ? ResourceUtility.Realizes(prefab, val, 5) : InstantiateManager.Realizes(ref inactive_inctance, val, 5)); if (add_component_type == null) { add_component_type = Type.GetType(val2.get_name()); } UIBehaviour uIBehaviour = (add_component_type == null) ? val.get_gameObject().AddComponent <UIBehaviour>() : (val.get_gameObject().AddComponent(add_component_type) as UIBehaviour); uIBehaviour.collectUI = val2; uIBehaviour.sectionData = section_data; TestTransitionAnim(val2, section_data); if (MonoBehaviourSingleton <UIManager> .I.common != null) { int num = 0; string text2 = uIBehaviour.GetCaptionText(); if (section_data != (GameSceneTables.SectionData)null) { if (text2 == null) { text2 = section_data.GetText("CAPTION"); } num = section_data.backButtonIndex; } if (num > 0) { MonoBehaviourSingleton <UIManager> .I.common.AttachBackButton(uIBehaviour, num - 1); } MonoBehaviourSingleton <UIManager> .I.common.AttachCaption(uIBehaviour, num, text2); } uIBehaviour.InitUI(); uIBehaviour.baseDepth = depth; if (!initVisible) { val2.GetComponentsInChildren <UIWidget>(Temporary.uiWidgetList); int i = 0; for (int count = Temporary.uiWidgetList.Count; i < count; i++) { Temporary.uiWidgetList[i]._Update(); } Temporary.uiWidgetList.Clear(); } uIBehaviour.uiVisible = initVisible; return(uIBehaviour); }