Пример #1
0
        private static void ProcessCursor(Point axis)
        {
            var axisInput = new Vector2(axis.X, axis.Y);

            if (axisInput.Magnitude > Settings.Default.CursorDeadzone)
            {
                axisInput = Vector2.Normalize(axisInput) *
                            ((axisInput.Magnitude - Settings.Default.CursorDeadzone) /
                             (127 - Settings.Default.CursorDeadzone));

                var curve = 0.05 * Settings.Default.CursorCurve;

                var xSpeed = (axisInput.X < 0 ? -axisInput.X : axisInput.X) * Settings.Default.CursorSpeed;
                var ySpeed = (axisInput.Y < 0 ? -axisInput.Y : axisInput.Y) * Settings.Default.CursorSpeed;

                var xMath = Math.Pow(curve * xSpeed, 2) + curve * xSpeed;
                var yMath = Math.Pow(curve * ySpeed, 2) + curve * ySpeed;

                var mouseMovement = new Vector2(xMath, yMath);

                if (axis.X < 0)
                {
                    mouseMovement.X = -mouseMovement.X;
                }
                if (axis.Y < 0)
                {
                    mouseMovement.Y = -mouseMovement.Y;
                }

                HardwareInput.MoveMouse((int)mouseMovement.X, (int)mouseMovement.Y);
            }
        }
Пример #2
0
        private static void ProcessCursor(Point axis)
        {
            var axisInput = new Vector2(axis.X, axis.Y);

            if (axisInput.Magnitude > Settings.Default.CursorDeadzone)
            {
                axisInput = Vector2.Normalize(axisInput) *
                            ((axisInput.Magnitude - Settings.Default.CursorDeadzone) /
                             (127 - Settings.Default.CursorDeadzone));

                var curve = 0.05 * Settings.Default.CursorCurve;

                var xSpeed = (axisInput.X < 0 ? -axisInput.X : axisInput.X) * Settings.Default.CursorSpeed;
                var ySpeed = (axisInput.Y < 0 ? -axisInput.Y : axisInput.Y) * Settings.Default.CursorSpeed;

                var xMath = Math.Pow(curve * xSpeed, 2) + curve * xSpeed;
                var yMath = Math.Pow(curve * ySpeed, 2) + curve * ySpeed;

                //xMath *= MemoryManager.ReadAoeState() ? 0.5 : 1;
                //yMath *= MemoryManager.ReadAoeState() ? 0.5 : 1;

                var mouseMovement = new Vector2(xMath, yMath);

                if (axis.X < 0)
                {
                    mouseMovement.X = -mouseMovement.X;
                }
                if (axis.Y < 0)
                {
                    mouseMovement.Y = -mouseMovement.Y;
                }


                if (Settings.Default.InputHardwareMouse)
                {
                    HardwareInput.MoveMouse((int)mouseMovement.X, (int)mouseMovement.Y);
                }
                else
                {
                    var m = Cursor.Position;
                    m.X            += (int)mouseMovement.X;
                    m.Y            += (int)mouseMovement.Y;
                    Cursor.Position = m;
                }
            }
        }