/// <summary> /// Registers an axis input to the controller. /// </summary> /// <param name="inputName">Name used for identification.</param> /// <param name="theAxis">Axis input.</param> /// <param name="replace">Whether or not to replace an existing input with the same inputName.</param> /// <returns>An AxisInputSet created from the provided AxisInput.</returns> public AxisInputSet AddAxisInput(string inputName, AxisInput theAxis, bool replace = false) { AxisInputSet set; if (axis.ContainsKey(inputName)) { if (replace) { axis.Remove(inputName); set = new AxisInputSet(theAxis); axis.Add(inputName, set); } else { set = axis[inputName]; set.Inputs.Add(theAxis); } } else { set = new AxisInputSet(theAxis); axis.Add(inputName, set); } set.PlayerIndex = PlayerIndex; set.Key = inputName; return(set); }
public AxisInputSet(AxisInput input) { if (input == null) { throw new ArgumentNullException(nameof(input)); } Inputs = new List <AxisInput> { input }; }
public bool RemoveAxisInput(string inputName, AxisInput theAxis) { if (!buttons.ContainsKey(inputName)) { return(false); } AxisInputSet axisInput = axis[inputName]; axisInput.Inputs.Remove(theAxis); if (axis.Count == 0) { buttons.Remove(inputName); } return(true); }