Exemplo n.º 1
0
            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)));
            }
Exemplo n.º 2
0
        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;
                }
            }
        }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 4
0
 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;
 }
Exemplo n.º 5
0
        private static void SetProperties(BaseKn5FormWrapper wrapper, IKn5ObjectRenderer renderer) {
            if (!SettingsHolder.CustomShowroom.SmartCameraPivot) {
                wrapper.AutoAdjustTargetOnReset = false;
                renderer.AutoAdjustTarget = false;
            }

            wrapper.InvertMouseButtons = SettingsHolder.CustomShowroom.AlternativeControlScheme;
        }
Exemplo n.º 6
0
        public static void SetProperties(BaseKn5FormWrapper wrapper, IKn5ObjectRenderer renderer)
        {
            if (!SettingsHolder.CustomShowroom.SmartCameraPivot)
            {
                wrapper.AutoAdjustTargetOnReset = false;
                renderer.AutoAdjustTarget       = false;
            }

            wrapper.InvertMouseButtons = SettingsHolder.CustomShowroom.AlternativeControlScheme;
        }
Exemplo n.º 7
0
        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;
                }
            }
Exemplo n.º 9
0
        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;
        }
Exemplo n.º 10
0
        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;
        }
Exemplo n.º 11
0
 public BaseKn5FormWrapper(BaseRenderer renderer, string title, int width, int height) : base(renderer, title, width, height)
 {
     Kn5ObjectRenderer = (IKn5ObjectRenderer)renderer;
 }