Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        public AxisInputSet(AxisInput input)
        {
            if (input == null)
            {
                throw new ArgumentNullException(nameof(input));
            }

            Inputs = new List <AxisInput> {
                input
            };
        }
Beispiel #3
0
        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);
        }