protected virtual void OnKeyboardMoveCamera(KeyRoutedEventArgs e) { var f = IsCtrlKeyPressed() ? 0.25f : 1; switch (e.Key) { case VirtualKey.W: OnAddMoveForce?.Invoke(Viewport, new AddForceEventArgs(new Vector3(0, 0, 0.1f * f * (float)Viewport.MoveSensitivity))); break; case VirtualKey.A: OnAddMoveForce?.Invoke(Viewport, new AddForceEventArgs(new Vector3(0.1f * f * (float)Viewport.LeftRightPanSensitivity, 0, 0))); break; case VirtualKey.S: OnAddMoveForce?.Invoke(Viewport, new AddForceEventArgs(new Vector3(0, 0, -0.1f * f * (float)Viewport.MoveSensitivity))); break; case VirtualKey.D: OnAddMoveForce?.Invoke(Viewport, new AddForceEventArgs(new Vector3(-0.1f * f * (float)Viewport.LeftRightPanSensitivity, 0, 0))); break; case VirtualKey.Z: OnAddMoveForce?.Invoke(Viewport, new AddForceEventArgs(new Vector3(0, -0.1f * f * (float)Viewport.LeftRightPanSensitivity, 0))); break; case VirtualKey.Q: OnAddMoveForce?.Invoke(Viewport, new AddForceEventArgs(new Vector3(0, 0.1f * f * (float)Viewport.LeftRightPanSensitivity, 0))); break; } }
protected void RaiseOnAddMoveForce(AddForceEventArgs args) { OnAddMoveForce?.Invoke(Viewport, args); }