public override void CameraMouseZoom(IKn5ObjectRenderer renderer, double dx, double dy, double height, double width) { var preparationRenderer = (TrackMapPreparationRenderer)renderer; preparationRenderer.AutoResetCamera = false; preparationRenderer.SetZoom((float)(preparationRenderer.Zoom * (1f + dy * 0.001f))); }
public virtual void CameraMousePan(IKn5ObjectRenderer renderer, double dx, double dy, double height, double width) { if (renderer.LockCamera) { return; } var size = 4.0 / Math.Min(height, width); dx *= size; dy *= size; var c = renderer.CameraOrbit; if (c != null) { c.Target -= (float)dy * Vector3.Cross(c.Look, c.Right) + (float)dx * c.Right; renderer.AutoRotate = false; renderer.AutoAdjustTarget = false; ((BaseRenderer)renderer).IsDirty = true; } else { var f = renderer.FpsCamera; if (f != null) { f.Position -= (float)dy * Vector3.Cross(f.Look, f.Right) + (float)dx * f.Right; ((BaseRenderer)renderer).IsDirty = true; } } }
public BaseKn5FormWrapper(BaseRenderer renderer, string title, int width, int height) : base(renderer, title, width, height) { Kn5ObjectRenderer = (IKn5ObjectRenderer)renderer; Form.MouseMove += OnMouseMove; Form.MouseDown += OnMouseDown; Form.MouseUp += OnMouseUp; Form.MouseWheel += OnMouseWheel; }
public BaseKn5FormWrapper(BaseRenderer renderer, string title, int width, int height) : base(renderer, title, width, height) { Kn5ObjectRenderer = (IKn5ObjectRenderer)renderer; Form.MouseMove += OnMouseMove; Form.MouseDown += OnMouseDown; Form.MouseUp += OnMouseUp; Form.MouseWheel += OnMouseWheel; }
private static void SetProperties(BaseKn5FormWrapper wrapper, IKn5ObjectRenderer renderer) { if (!SettingsHolder.CustomShowroom.SmartCameraPivot) { wrapper.AutoAdjustTargetOnReset = false; renderer.AutoAdjustTarget = false; } wrapper.InvertMouseButtons = SettingsHolder.CustomShowroom.AlternativeControlScheme; }
public static void SetProperties(BaseKn5FormWrapper wrapper, IKn5ObjectRenderer renderer) { if (!SettingsHolder.CustomShowroom.SmartCameraPivot) { wrapper.AutoAdjustTargetOnReset = false; renderer.AutoAdjustTarget = false; } wrapper.InvertMouseButtons = SettingsHolder.CustomShowroom.AlternativeControlScheme; }
public virtual void OnTick(IKn5ObjectRenderer renderer, float deltaTime) { if (IsPressed(Keys.LMenu) || IsPressed(Keys.RMenu)) { return; } if (renderer.LockCamera) { return; } var speed = 0.1f; if (IsPressed(Keys.LShiftKey) || IsPressed(Keys.RShiftKey)) { speed *= 0.2f; } if (IsPressed(Keys.LControlKey) || IsPressed(Keys.RControlKey)) { speed = 5.0f; } if (IsPressed(Keys.Up)) { renderer.Camera.Walk(speed); renderer.AutoRotate = false; renderer.AutoAdjustTarget = false; ((BaseRenderer)renderer).IsDirty = true; } if (IsPressed(Keys.Down)) { renderer.Camera.Walk(-speed); renderer.AutoRotate = false; renderer.AutoAdjustTarget = false; ((BaseRenderer)renderer).IsDirty = true; } if (IsPressed(Keys.Left)) { renderer.Camera.Strafe(-speed); renderer.AutoRotate = false; renderer.AutoAdjustTarget = false; ((BaseRenderer)renderer).IsDirty = true; } if (IsPressed(Keys.Right)) { renderer.Camera.Strafe(speed); renderer.AutoRotate = false; renderer.AutoAdjustTarget = false; ((BaseRenderer)renderer).IsDirty = true; } }
public override void CameraMousePan(IKn5ObjectRenderer renderer, double dx, double dy, double height, double width) { var preparationRenderer = (TrackMapPreparationRenderer)renderer; var camera = preparationRenderer.CameraOrtho; if (camera != null) { camera.Move(new Vector3((float)(dx * camera.Width / preparationRenderer.Width), 0f, (float)(-dy * camera.Height / preparationRenderer.Height))); preparationRenderer.AutoResetCamera = false; preparationRenderer.IsDirty = true; } }
public virtual void CameraMouseZoom(IKn5ObjectRenderer renderer, double dx, double dy, double height, double width) { if (renderer.LockCamera) { return; } var size = 9.0 / Math.Min(height, width); dy *= size; renderer.Camera.Zoom((float)dy); renderer.AutoRotate = false; ((BaseRenderer)renderer).IsDirty = true; }
public virtual void CameraMouseRotate(IKn5ObjectRenderer renderer, double dx, double dy, double height, double width) { if (renderer.LockCamera) { return; } var size = (renderer.UseFpsCamera ? 140d : 180d) / Math.Min(height, width); dx *= size; dy *= size; renderer.Camera.Pitch(((float)(renderer.UseFpsCamera ? -dy : dy)).ToRadians()); renderer.Camera.Yaw(((float)(renderer.UseFpsCamera ? -dx : dx)).ToRadians()); renderer.AutoRotate = false; ((BaseRenderer)renderer).IsDirty = true; }
public BaseKn5FormWrapper(BaseRenderer renderer, string title, int width, int height) : base(renderer, title, width, height) { Kn5ObjectRenderer = (IKn5ObjectRenderer)renderer; }