protected virtual void CheckControls(InputControl controls)
 {
     if (this.controls != null && controls.GetType() != this.controls.GetType())
     {
         throw new Exception("Mixing incompatible input control types");
     }
 }
Esempio n. 2
0
        public static InputControl CloneInputControls(InputControl controls)
        {
            if (controls is ButtonBasedInputControl)
                return new ButtonBasedInputControl(controls.Mappings);
            else if (controls is SpeechBasedInputControl)
                return new SpeechBasedInputControl(controls.Mappings);

            throw new Exception("No suitable input control class found");
        }
        protected override void CheckControls(InputControl controls)
        {
            base.CheckControls(controls);

            Dictionary<String, String> mappings = controls.Mappings;

            foreach (KeyValuePair<String, String> keyValuePair in mappings)
            {
                String name = keyValuePair.Key;
                String value = keyValuePair.Value;

                if (controls.IsContinuousMapping(name) && !isValidContinuousInputValue(value))
                    throw new Exception("The input element '" + name + "' is no valid axis.");
                else if (controls.IsBooleanMapping(name) && !isValidBooleanInputValue(value))
                    throw new Exception("The input element '" + name + "' is no valid button.");
                else if (!controls.IsContinuousMapping(name) && !controls.IsBooleanMapping(name))
                    throw new Exception("The input element '" + name + "' is neither marked as button nor as axis");
            }
        }
 private void SetControls(InputControl controls)
 {
     CheckControls(controls);
     this.controls = InputFactory.CloneInputControls(controls);
 }
 public void CopyMappingsFrom(InputControl controls)
 {
     SetControls(controls);
 }
 protected InputMapping(InputControl controls)
 {
     CopyMappingsFrom(controls);
 }
        public DeviceAndSelectionConfigState(String name, Position layoutPosition, int rowNumber, InputControl.ControlType inputValueType, List<String> axisNames, List<String> controlsNotRecognized)
            : base(name, layoutPosition, rowNumber)
        {
            this.inputValueType = inputValueType;
            this.axisNames = new List<String>(axisNames);
            Console.WriteLine("---");

                foreach (string axisNameTmp in this.axisNames) {
                    Console.WriteLine("Name:" + axisNameTmp);
                }

            Console.WriteLine("---");
            this.controlsNotRecognized = new List<String>(controlsNotRecognized);
        }
 public DeviceInputConfigState(String name, Position layoutPosition, int rowNumber, InputControl.ControlType inputValueType)
     : base(name, layoutPosition, rowNumber)
 {
     this.inputValueType = inputValueType;
 }
 private SpeechBasedInputMapping(InputControl controls)
     : base(controls)
 { }
 protected ValidatedInputMapping(List<String> validBooleanInputValues, List<String> validContinuousInputValues, InputControl controls)
     : base()
 {
     InitializeValidation(validBooleanInputValues, validContinuousInputValues);
     InitializeControls(controls);
 }
 private ButtonBasedInputMapping(List<String> validButtons, List<String> validAxes, InputControl controls)
     : base(validButtons, validAxes, controls)
 { }
 public DeviceAndSelectionConfigState(String name, Position layoutPosition, int rowNumber, InputControl.ControlType inputValueType, List<String> axisNames, List<String> controlsNotRecognized)
     : base(name, layoutPosition, rowNumber)
 {
     this.inputValueType = inputValueType;
     this.axisNames = new List<String>(axisNames);
     this.controlsNotRecognized = new List<String>(controlsNotRecognized);
 }