Exemple #1
0
    //public void PlayCameraToUnLockRegionOld()
    //{
    //    DOTween.To(() => cameraWorld.orthographicSize, (size) => { cameraWorld.orthographicSize = size; }, 1.08f, 1f);
    //}

    public void PlayUIExceedReback(Vector3 deltaVecScreen, GameObject goUI, TileComponent tileComponent, UIWorldHandleManager.TypePointUI typePointUI)
    {
        float zoomRadio = Root2dSceneManager._instance.zoomRadio;

        deltaVecScreen = deltaVecScreen / radioUIToScene / zoomRadio * 1.2f;
        DOTween.To(() => cameraWorld.transform.localPosition, (pos) =>
        {
            SetCameraLocalPos(pos);
            StaticData.GetUIWorldHandleComponent().SetWorldPos(tileComponent, goUI, typePointUI);
        }, cameraWorld.transform.localPosition + deltaVecScreen, 1f);
    }
Exemple #2
0
    public void PlayCameraAnimWhenOutScreen(GameObject goUI, TileComponent tileComponent, UIWorldHandleManager.TypePointUI typePointUI)
    {
        //这里初始化
        manorCameraWorldComponent = Root2dSceneManager._instance.worldCameraComponent;
        rt = GetComponent <RectTransform>();


        var     listFourPoint = GetFourScreenPoint();
        Vector2 vecDelta      = Vector2.zero;
        //左上角
        var PointLeftTop = listFourPoint.Find((point) => point.x <= 0 && point.y >= Screen.height);
        //左下角
        var PointLeftBottom = listFourPoint.Find((point) => point.x <= 0 && point.y <= 0);
        //右上角
        var PointRightTop = listFourPoint.Find((point) => point.x >= Screen.width && point.y >= Screen.height);
        //右下角
        var PointRightBottom = listFourPoint.Find((point) => point.x >= Screen.width && point.y <= 0);
        //上
        var PointTop = listFourPoint.Find((point) => point.y >= Screen.height);
        //右
        var PointRight = listFourPoint.Find((point) => point.x >= Screen.width);
        //下
        var PointBottom = listFourPoint.Find((point) => point.y <= 0);
        //左
        var PointLeft = listFourPoint.Find((point) => point.x <= 0);

        if (PointLeftTop != Vector2.zero)
        {
            //(负,正)
            vecDelta = listFourPoint[3] - new Vector2(0, Screen.height);
        }
        else if (PointLeftBottom != Vector2.zero)
        {
            //(负,负)
            vecDelta = listFourPoint[0] - new Vector2(0, 0);
        }
        else if (PointRightTop != Vector2.zero)
        {
            //(正,正)
            vecDelta = listFourPoint[2] - new Vector2(Screen.width, Screen.height);
        }
        else if (PointRightBottom != Vector2.zero)
        {
            //(正,负)
            vecDelta = listFourPoint[1] - new Vector2(Screen.width, 0);
        }
        else if (PointTop != Vector2.zero)
        {
            vecDelta = new Vector2(0, listFourPoint[2].y - Screen.height);
        }
        else if (PointRight != Vector2.zero)
        {
            vecDelta = new Vector2(listFourPoint[2].x - Screen.width, 0);
        }
        else if (PointBottom != Vector2.zero)
        {
            vecDelta = new Vector2(0, listFourPoint[0].y);
        }
        else if (PointLeft != Vector2.zero)
        {
            vecDelta = new Vector2(listFourPoint[0].x, 0);
        }

        manorCameraWorldComponent.PlayUIExceedReback(new Vector3(vecDelta.x, vecDelta.y), goUI, tileComponent, typePointUI);
    }