Exemple #1
0
 private void InitEditorStock(CameraStock stock)
 {
     m_editStock.Copy(stock);
     EditorDistance     = m_editStock.Distance;
     EditorVertical     = m_editStock.Vertical;
     EditorHorizon      = m_editStock.Horizon;
     EditorFov          = m_editStock.Fov;
     EditorHeightOffset = m_editStock.HeightOffset;
 }
Exemple #2
0
        public void Run(CameraStock stock, Vector3 targetPos, ref CameraUpdateInfo updateInfo, float elapsedTime)
        {
            m_oriStock.Stock.Copy(stock);
            m_oriStock.Target = targetPos;

            m_curState.Run(m_oriStock, m_preStock, ref updateInfo, elapsedTime);

            m_preStock.Stock.Copy(updateInfo);
            m_preStock.Target = updateInfo.Target;
        }
    private Vector3 ConvertOffset(Vector2 ptPrev, Vector2 ptCur)
    {
        CameraStock fixCameraStock = new CameraStock();//= Global.CameraMgr.Impl.Strategy.FixCameraStock;

        Vector2 v2DirY    = LEMath.RadianToDir(LEMath.DegreeToRadian(-fixCameraStock.Horizon));
        Vector2 v2DirX    = LEMath.RadianToDir(LEMath.DegreeToRadian(-fixCameraStock.Horizon) - LEMath.s_fHalfPI);
        float   fDistance = fixCameraStock.Distance;

        Vector2 slidePoint = (v2DirX * (ptCur.x - ptPrev.x) * fDistance) - (v2DirY * (ptCur.y - ptPrev.y) * fDistance);
        float   y          = (ptCur.y - ptPrev.y);

        return(new Vector3(slidePoint.x, y, slidePoint.y));
    }
Exemple #4
0
        public void UpdateStock(CameraStock stock)
        {
            if (stock != null)
            {
                if (m_limitStock != null && m_cameraStock != null)
                {
                    m_cameraStock.Distance = Mathf.Max(m_limitStock.MinDistance, Mathf.Min(stock.Distance, m_limitStock.MaxDistance));
                    m_cameraStock.Vertical = Mathf.Max(m_limitStock.VerMinRadian, Mathf.Min(stock.Vertical, m_limitStock.VerMaxRadian));
                    m_cameraStock.Horizon  = stock.Horizon;

                    m_cameraStock.Fov          = stock.Fov;
                    m_camera.fieldOfView       = m_cameraStock.Fov;
                    m_cameraStock.HeightOffset = stock.HeightOffset;
                }

                if (IsVerticalEqual())
                {
                    m_cameraStock.Vertical = stock.Vertical;
                }
            }
        }