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; }
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)); }
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; } } }