public static BaseUi LoadUiPerfab(Type type, string resourceName) { GameObject go = GameObjectUtility.CreateGameObject(resourceName); go.SetActive(false); return(go.GetComponent(type) as BaseUi); }
public override void OnEnter() { base.OnEnter(); m_go_mainmenuscene.transform.position = CameraManagerComponent.Instance.Main_Camera.transform.position + new Vector3(0, 0, 30); //添加背景 GameObjectUtility.CreateGameObject(3002, m_go_backGround); }
/// <summary> /// 创建层 /// </summary> /// <param name="layer"></param> /// <param name="goParent"></param> /// <param name="depthStart"></param> private void CreateNewLayer(UiLayer layer, GameObject goParent, int depthStart) { GameObject go = GameObjectUtility.CreateGameObject(); go.name = layer.ToString(); go.AddComponent <UIPanel>().depth = depthStart; GameObjectUtility.AddUiChild(goParent, go); go.layer = LayerMask.NameToLayer(layer.ToString()); layerGoDic[layer] = go; CreateLayerCamera(layer, LayerMask.NameToLayer(layer.ToString()), go); }
/// <summary> /// 创建ui, 虽然没有调用InitUi方法, 但是在Show的时候会调用 /// </summary> /// <param name="type"></param> /// <returns></returns> public BaseUi CreateUiNotShow(Type type) { GameObject go = GameObjectUtility.CreateGameObject(type.Name); go.SetActive(false); var cmp = go.AddComponent(type); var cmpUi = cmp as BaseUi; if (cmpUi != null) { cmpUi.BlandGameObjectLinkIfDidnt(); } return(cmpUi); }
/// <summary> /// 初始化UiRoot /// </summary> /// <param name="uiRoot"></param> /// <returns></returns> private GameObject InitUiRoot(out UIRoot uiRoot) { GameObject go = GameObjectUtility.CreateGameObject(); go.name = Defines.UIRoot; uiRootGo = go; uiRoot = go.AddComponent <UIRoot>(); uiRoot.scalingStyle = UIRoot.Scaling.ConstrainedOnMobiles; uiRoot.fitHeight = uiRoot.fitWidth = true; uiRoot.manualWidth = Defines.ScreenWidth; uiRoot.manualHeight = Defines.ScreenHeight; uiRoot.gameObject.layer = LayerMask.NameToLayer("UI"); return(go); }
/// <summary> /// 给Ui添加UiPnlModelBackground /// </summary> /// <param name="ui"></param> private void AddBackground(BaseUi ui) { if (ui.model && ui.modelBackground == null) { GameObject go = GameObjectUtility.CreateGameObject(UiPrefabNames.UiPnlModelBackground); go.SetActive(false); UiPnlModelBackground modelBackground = go.GetComponent <UiPnlModelBackground>(); UiUtility.SetParent(modelBackground.gameObject, ui.gameObject); modelBackground.transform.SetAsFirstSibling(); modelBackground.gameObject.SetActive(true); ui.modelBackground = modelBackground.GetComponent <UIPanel>(); } }
/// <summary> /// 通过名字加载ui prefab /// </summary> /// <param name="typeName"></param> /// <returns></returns> private BaseUi LoadUiPrefabByName(string typeName) { GameObject go = GameObjectUtility.CreateGameObject(typeName); go.SetActive(false); Type t = Type.GetType(typeName, false, true); var cmp = go.AddComponent(t); var cmpUi = cmp as BaseUi; if (cmpUi != null) { cmpUi.BlandGameObjectLinkIfDidnt(); } return(cmpUi); }
/// <summary> /// 创建每一层的摄像机 /// </summary> /// <param name="layer"></param> /// <param name="layerMask"></param> /// <param name="cameraParent"></param> private void CreateLayerCamera(UiLayer layer, int layerMask, GameObject cameraParent) { GameObject go = GameObjectUtility.CreateGameObject(); go.name = layer + "Camera"; Camera camera = go.AddComponent <Camera>(); UICamera uiCamera = go.AddComponent <UICamera>(); uiCamera.eventReceiverMask = (1 << layerMask); uiCamera.allowMultiTouch = false; camera.clearFlags = CameraClearFlags.Depth; camera.cullingMask = (1 << layerMask); camera.orthographic = true; camera.orthographicSize = 1f; camera.nearClipPlane = -10f; camera.farClipPlane = 10f; camera.depth = (int)layer; GameObjectUtility.AddUiChild(cameraParent, go); camera.transform.localPosition = new Vector3(0, 0, -10f); layerCameraDic.Add(layer.ToString(), camera); }
public UIWindowBase CreateUIWindow <T>(string UIName) { UIWindowBase UIbase = null; try { int assetid = UIManager.UI_Table.GetRowByUIType(UIName).assetid; GameObject UItmp = GameObjectUtility.CreateGameObject(assetid, m_UIManagerGo); UIbase = UItmp.GetComponent <UIWindowBase>(); UIbase.OnInitUI(GetUIID(UIName)); m_UILayerManagerCom.SetLayer(UIbase);//设置层级 AddUI(UIbase); } catch (Exception e) { DebugHandler.LogError("OnInit Exception: " + e.ToString()); } return(UIbase); }