少年修仙传客户端代码仓库
client_linchunjie
2018-08-30 d9ec38da76d0ab04b1496c6dcd75a573ed17ab85
Core/GameEngine/SnxxzGame.cs
@@ -157,4 +157,90 @@
        }
    }
    public void MovingCamera(bool start, int type)
    {
        if (start)
        {
            StartCoroutine("Co_MovingCamera", type);
        }
        else
        {
            StopCoroutine("Co_MovingCamera");
        }
    }
    public void ResetCamera(bool start)
    {
        if (start)
        {
            StartCoroutine("Co_ResetCamera");
        }
        else
        {
            StopCoroutine("Co_ResetCamera");
        }
    }
    private IEnumerator Co_MovingCamera(int _type)
    {
        var _areaCamera = Config.Instance.Get<TableConfig.AreaCameraConfig>(_type);
        if (_areaCamera == null)
        {
            yield break;
        }
        CameraController.Instance.AcceptInput = true;
        CameraController.Instance.ZoomDamping = 0.5f;
        CameraController.Instance.RotationDamping = 0.5f;
        CameraController.Instance.sceneDistance = CameraController.Instance.Distance = _areaCamera.Distance * Constants.F_DELTA;
        CameraController.Instance.rotationX = _areaCamera.RotX * Constants.F_DELTA;
        CameraController.Instance.rotationY = _areaCamera.RotY * Constants.F_DELTA;
        float _time = 2f;
        while (_time > 0)
        {
            _time -= Time.deltaTime;
            yield return null;
        }
        CameraController.Instance.AcceptInput = false;
        CameraController.Instance.Distance = _areaCamera.Distance * Constants.F_DELTA;
        CameraController.Instance.rotationX = _areaCamera.RotX * Constants.F_DELTA;
        CameraController.Instance.rotationY = _areaCamera.RotY * Constants.F_DELTA;
        CameraController.Instance.ZoomDamping = 0.1f;
        CameraController.Instance.RotationDamping = 0.02f;
    }
    private IEnumerator Co_ResetCamera()
    {
        CameraController.Instance.AcceptInput = true;
        CameraController.Instance.ZoomDamping = 0.5f;
        CameraController.Instance.RotationDamping = 0.5f;
        CameraController.Instance.sceneDistance = CameraController.Instance.Distance = 9;
        CameraController.Instance.rotationX = -45;
        CameraController.Instance.rotationY = 40;
        float _time = 2f;
        while (_time > 0)
        {
            _time -= Time.deltaTime;
            yield return null;
        }
        CameraController.Instance.AcceptInput = false;
        CameraController.Instance.Distance = 9;
        CameraController.Instance.rotationX = -45;
        CameraController.Instance.rotationY = 40;
        CameraController.Instance.ZoomDamping = 0.1f;
        CameraController.Instance.RotationDamping = 0.02f;
    }
}