少年修仙传客户端代码仓库
client_Hale
2018-08-30 a9514ccd6cf7378c01467cd3e8183e5fcf6baa91
Fixed #3125 摄像机转向冲突修复
2个文件已修改
158 ■■■■■ 已修改文件
Core/GameEngine/SnxxzGame.cs 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/Dungeon/MapArea.cs 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }
}
Fight/Stage/Dungeon/MapArea.cs
@@ -81,9 +81,9 @@
    {
        if (_type >= 3000)
        {
            StopCoroutine("MovingCamera");
            StopCoroutine("ResetCamera");
            StartCoroutine("MovingCamera");
            SnxxzGame.Instance.MovingCamera(false, _type);
            SnxxzGame.Instance.ResetCamera(false);
            SnxxzGame.Instance.MovingCamera(true, _type);
        }
        if (PlayerDatas.Instance.hero != null)
@@ -105,8 +105,8 @@
    {
        if (_type >= 3000)
        {
            StopCoroutine("MovingCamera");
            StartCoroutine("ResetCamera");
            SnxxzGame.Instance.MovingCamera(false, _type);
            SnxxzGame.Instance.ResetCamera(true);
        }
        if (PlayerDatas.Instance.hero != null)
@@ -125,68 +125,6 @@
        }
    }
    private IEnumerator MovingCamera()
    {
        AreaCameraConfig _areaCamera = Config.Instance.Get<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 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;
    }
#if UNITY_EDITOR
    private void OnDrawGizmos()