Beispiel #1
0
        public ActionResult SetDeadzone(string id, InputDeviceMethod method, int offset, [FromBody] double deadzone)
        {
            var device = inputDeviceManager.FindInputDevice(id);

            if (device == null)
            {
                return(NotFound("Device not found"));
            }
            var inputDevice = device.FindInput(method);

            if (inputDevice == null)
            {
                return(NotFound("Input device method not found"));
            }
            var source = inputDevice.FindSource(offset);

            if (source == null)
            {
                return(NotFound("ForceFeedback target not found"));
            }
            inputDeviceManager.ChangeInputConfiguration(id, method, (inputDevice) =>
            {
                var config = inputDevice.InputConfiguration.Sources.FirstOrDefault(s => s.Offset == offset);
                if (config == null)
                {
                    config = new InputSourceConfig
                    {
                        Offset = offset,
                    };
                    inputDevice.InputConfiguration.Sources.Add(config);
                }
                config.Deadzone = deadzone;
            });
            return(NoContent());
        }
Beispiel #2
0
        public void SetForceFeedback(InputDeviceMethod method, int offset, double value)
        {
            var target = FindInput(method)?.FindTarget(offset);

            if (target != null)
            {
                target.Value = value;
            }
        }
Beispiel #3
0
 public bool RemoveInput(InputDeviceMethod method)
 {
     if (devices.ContainsKey(method))
     {
         devices.Remove(method);
         Disconnected?.Invoke(this, new DeviceDisconnectedEventArgs(devices[method]));
     }
     return(!devices.Any());
 }
Beispiel #4
0
 public void SetInput(InputDeviceMethod method, IInputDevice device)
 {
     if (devices.ContainsKey(method))
     {
         Disconnected?.Invoke(this, new DeviceDisconnectedEventArgs(devices[method]));
     }
     devices[method] = device;
     Connected?.Invoke(this, new DeviceConnectedEventArgs(devices[method]));
 }
Beispiel #5
0
        public bool ChangeInputConfiguration(string id, InputDeviceMethod method, Action <InputConfig> configuration)
        {
            var inputDevice = FindInputDevice(id)?.FindInput(method);

            if (inputDevice == null)
            {
                return(false);
            }
            configuration(inputDevice.InputConfiguration);
            inputConfigManager.SaveConfig(inputDevice);
            return(true);
        }
Beispiel #6
0
        public ActionResult StopForceFeedback(string id, InputDeviceMethod method)
        {
            var inputDevice = inputDeviceManager.FindInputDevice(id);

            if (inputDevice == null)
            {
                return(NotFound("Device not found"));
            }
            var target = inputDevice.FindInput(method);

            if (target == null)
            {
                return(NotFound("Input device not found"));
            }
            target.Stop();
            return(NoContent());
        }
Beispiel #7
0
 public ForceFeedbackTarget FindTarget(InputDeviceMethod method, int offset)
 {
     return(FindInput(method)?.FindTarget(offset));
 }
Beispiel #8
0
 public InputSource FindSource(InputDeviceMethod method, int offset)
 {
     return(FindInput(method)?.FindSource(offset));
 }
Beispiel #9
0
 public bool RemoveInput(InputDeviceMethod method)
 {
     devices.Remove(method);
     return(!devices.Any());
 }
Beispiel #10
0
 public void SetInput(InputDeviceMethod method, IInputDevice device)
 {
     devices[method] = device;
 }
Beispiel #11
0
 public IInputDevice FindInput(InputDeviceMethod method)
 {
     return(devices[method]);
 }
Beispiel #12
0
 void updateLastUsedInputDevice(InputDeviceMethod inputDevice)
 {
     gameObject.SetActive(inputDevice == this.inputDevice);
 }
Beispiel #13
0
 public IInputDevice FindInputDevice(string id, InputDeviceMethod method)
 {
     return(FindInputDevice(id)?.FindInput(method));
 }