示例#1
0
    /// <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);
    }
示例#2
0
 /// <summary>
 /// 给UiPnlModelBackground添加点击事件
 /// </summary>
 /// <param name="ui"></param>
 private void AddClickEvent(BaseUi ui)
 {
     if (ui.model && ui.autoClickHide)
     {
         UiLayer layer                 = ui.layer;
         UiPnlModelBackground back     = ui.modelBackground.GetComponent <UiPnlModelBackground>();
         BoxCollider          collider = UiUtility.AddIfMissing <BoxCollider>(back.spriteBack.gameObject);
         collider.isTrigger = true;
         UIEventListener.Get(back.spriteBack.gameObject).onClick = go => ui.Hide();
         UiModelTool.ChangeTransformLayer(ui.modelBackground.gameObject, layer.ToString());
     }
 }
示例#3
0
    /// <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);
    }