private void UpdateCamera() { foreach (var cameraTarget in LowPriorityTargets.ToArray()) { cameraTarget.Update(_camera.Pos, CurrentMouseState, MouseInWorld); } CameraPosition = _camera.Pos; _currentKeyboardState = Keyboard.GetState(); if (_currentKeyboardState.IsKeyDown(Keys.Right) || _currentKeyboardState.IsKeyDown(Keys.D)) { _camera.Pos += new Vector2(CameraMovementSpeed, 0); AutoCamera = false; } if (_currentKeyboardState.IsKeyDown(Keys.Left) || _currentKeyboardState.IsKeyDown(Keys.A)) { _camera.Pos += new Vector2(-CameraMovementSpeed, 0); AutoCamera = false; } if (_currentKeyboardState.IsKeyDown(Keys.Up) || _currentKeyboardState.IsKeyDown(Keys.W)) { _camera.Pos += new Vector2(0, -CameraMovementSpeed); AutoCamera = false; } if (_currentKeyboardState.IsKeyDown(Keys.Down) || _currentKeyboardState.IsKeyDown(Keys.S)) { _camera.Pos += new Vector2(0, CameraMovementSpeed); AutoCamera = false; } if (AutoCamera) { MoveCamera(); } _camera.AccelerateZoom(0.05f * Math.Sign(CurrentMouseState.ScrollWheelValue - PreviousMouseState.ScrollWheelValue)); _camera.UpdateZoom(); }