protected override void OnMouseWheel(float value) { if (Kn5ObjectRenderer.UseFpsCamera || !User32.IsKeyPressed(Keys.LControlKey) && !User32.IsKeyPressed(Keys.RControlKey)) { Kn5ObjectRenderer.Camera.Zoom(value * (Kn5ObjectRenderer.UseFpsCamera ? -0.1f : -0.4f)); } else { var c = Kn5ObjectRenderer.CameraOrbit; if (c == null) { return; } Kn5ObjectRenderer.ChangeCameraFov(c.FovY - value * 0.05f); } }
protected override void OnMouseWheel(float value) { var useFpsCamera = Kn5ObjectRenderer.UseFpsCamera; var ctrlPressed = User32.IsAsyncKeyPressed(Keys.LControlKey) || User32.IsAsyncKeyPressed(Keys.RControlKey); if (!(useFpsCamera ^ ctrlPressed)) { Kn5ObjectRenderer.Camera.Zoom(value * (useFpsCamera ? -0.1f : -0.4f)); } else if (!useFpsCamera) { var c = Kn5ObjectRenderer.CameraOrbit; if (c == null) { return; } Kn5ObjectRenderer.ChangeCameraFov(c.FovY - value * 0.05f); } }
protected virtual void OnMouseWheel(object sender, MouseEventArgs e) { if (Kn5ObjectRenderer.LockCamera) { return; } var value = e.Delta > 0 ? 1f : -1f; if (Kn5ObjectRenderer.UseFpsCamera || !User32.IsKeyPressed(Keys.LControlKey) && !User32.IsKeyPressed(Keys.RControlKey)) { Kn5ObjectRenderer.Camera.Zoom(value * (Kn5ObjectRenderer.UseFpsCamera ? -0.1f : -0.4f)); } else { var c = Kn5ObjectRenderer.CameraOrbit; if (c == null) { return; } Kn5ObjectRenderer.ChangeCameraFov(c.FovY - value * 0.05f); } Renderer.IsDirty = true; }