コード例 #1
0
        /// <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);
        }
コード例 #2
0
 public GameObject AddUI(GameObject Prefab, UICanvasMgr.eUICanvasLevel level)
 {
     return(AddUI(Prefab, null, Vector3.zero, level));
 }