/// <summary> /// 增加UI层 /// </summary> public QUIBehaviour CreateUI<T> (CanvasLevel level,object uiData = null) where T : QUIBehaviour { string behaviourName = typeof(T).ToString(); if (mAllUIBehaviour.ContainsKey (behaviourName)) { Debug.LogWarning(behaviourName + ": already exist"); mAllUIBehaviour [behaviourName].transform.localPosition = Vector3.zero; mAllUIBehaviour [behaviourName].transform.localEulerAngles = Vector3.zero; mAllUIBehaviour [behaviourName].transform.localScale = Vector3.one; mAllUIBehaviour [behaviourName].Enter (uiData); } else { GameObject prefab = QResMgr.Instance.LoadUIPrefabSync (behaviourName); GameObject mUIGo = Instantiate (prefab); switch (level) { case CanvasLevel.Top: mUIGo.transform.SetParent (mCanvasTopTrans); break; case CanvasLevel.Middle: mUIGo.transform.SetParent (mCanvasMidTrans); break; case CanvasLevel.Bottom: mUIGo.transform.SetParent (mCanvasBottomTrans); break; case CanvasLevel.Root: mUIGo.transform.SetParent (transform); break; case CanvasLevel.MainCamera: mUIGo.transform.SetParent (Camera.main.transform); break; } mUIGo.transform.localPosition = Vector3.zero; mUIGo.transform.localEulerAngles = Vector3.zero; mUIGo.transform.localScale = Vector3.one; // go.GetComponent<RectTransform>().offsetMax = Vector2.zero; // go.GetComponent<RectTransform>().offsetMin = Vector2.zero; // go.GetComponent<RectTransform>().anchoredPosition3D = Vector3.zero; // go.transform.localScale = Vector3.one; mUIGo.gameObject.name = behaviourName; Debug.Log(behaviourName + " Load Success"); T t = mUIGo.AddComponent<T>(); mAllUIBehaviour.Add (behaviourName, t); t.Init (uiData); } return mAllUIBehaviour [behaviourName]; }
public QUIBehaviour OpenUI<T>(CanvasLevel canvasLevel,object uiData = null) where T : QUIBehaviour { string behaviourName = typeof(T).ToString(); if (!mAllUIBehaviour.ContainsKey(behaviourName)) { return CreateUI<T>(canvasLevel,uiData); } SetVisible(behaviourName, true); return mAllUIBehaviour[behaviourName]; }
public QUIBehaviour OpenUI <T>(CanvasLevel canvasLevel, string bundleName, object uiData = null) where T : QUIBehaviour { string behaviourName = typeof(T).ToString(); if (!mAllUI.ContainsKey(behaviourName)) { return(CreateUI <T>(canvasLevel, bundleName, uiData)); } mAllUI [behaviourName].Show(); return(mAllUI[behaviourName]); }
public QUIBehaviour CreateUI (string asd,CanvasLevel level,object uiData = null) { return null; }