/// <summary> /// 添加主UICamera接管的UI GameObject /// </summary> /// <param name="Prefab">需要由主UICamera接管的GameObject</param> /// <param name="target">该UI GameObject跟随的对象</param> /// <returns>返回创建的UI GameObject</returns> /// Ex:GameApp.m_UIManager.AddUI(Resources.Load("UI/Login/Prefabs/uitest")as GameObject, transform); public GameObject AddUI(GameObject Prefab, Transform target, Vector3 OffsetV3, UICanvasMgr.eUICanvasLevel level) { if (Prefab == null) { Debuger.Log("AddUI(Prefab is null)"); return(null); } GameObject goGetCanvasRoot = null; goGetCanvasRoot = UICanvasMgr.mInstance.GetUICanvaRootsByLevel(level); if (goGetCanvasRoot != null) { GameObject child = GameObject.Instantiate(Prefab) as GameObject; if (child == null) { return(null); } child.layer = goGetCanvasRoot.layer; Transform t = child.transform; t.SetParent(goGetCanvasRoot.transform); if (target != null) { AddHUDToTarget hud = child.GetComponent <AddHUDToTarget>(); if (hud == null) { hud = child.AddComponent <AddHUDToTarget>(); } hud.target = target; hud.offSet = OffsetV3; } else { t.localPosition = Vector3.zero; } t.localRotation = Quaternion.identity; t.localScale = Vector3.one; if (UICanvasMgr.mInstance.UIAddedDic.ContainsKey((int)level)) { UICanvasMgr.mInstance.UIAddedDic[(int)level].Add(child); } else { List <GameObject> list = new List <GameObject>(); list.Add(child); UICanvasMgr.mInstance.UIAddedDic.Add((int)level, list); } return(child); } return(null); }
public GameObject AddUI(GameObject Prefab, UICanvasMgr.eUICanvasLevel level) { return(AddUI(Prefab, null, Vector3.zero, level)); }