public void Rotate(Vector2 f2Offset) { if (m_cameraImpl == null) { return; } if (m_cameraImpl.IsHorizonEqual() || m_cameraImpl.IsVerticalEqual()) { return; } CameraFreeState freeState = m_cameraImpl.Strategy.CurState as CameraFreeState; if (freeState != null) { m_cameraImpl.Rotate(f2Offset); } else { m_cameraImpl.EditorHorizon = m_cameraImpl.EditorHorizon + f2Offset.x; m_cameraImpl.EditorVertical = m_cameraImpl.EditorVertical + f2Offset.y; m_cameraImpl.EditorUpdateStock(); } }
public void Zoom(float fDelta) { if (m_cameraImpl != null) { CameraFreeState freeState = m_cameraImpl.Strategy.CurState as CameraFreeState; if (freeState != null) { m_cameraImpl.Zoom(fDelta); } else { m_cameraImpl.EditorDistance = m_cameraImpl.EditorDistance * Mathf.Pow(2.0f, fDelta); m_cameraImpl.EditorUpdateStock(); } } }
public CameraStrategy() { m_strategyStock.Distance.Value = 20.0f; m_strategyStock.Distance.Power = 0.5f; m_strategyStock.Distance.PeriodTime = 1.3f; m_strategyStock.Direction.Value = LEMath.s_fPI * 0.9f; m_strategyStock.Direction.Power = 0.8f; m_strategyStock.Direction.PeriodTime = 0.6f; m_strategyStock.Target.Value = 0.3f; m_strategyStock.Target.Power = 0.5f; m_strategyStock.Target.PeriodTime = 0.8f; m_freeState = new CameraFreeState(this); m_targetState = new CameraTargetState(this); m_gameState = new CameraGameState(this); m_curState = m_gameState; }