public static InputMapping MergeMapping(InputMapping keyboard, InputMapping joystick) { return(new InputMapping() { IsAxis = joystick.IsAxis, ButtonNumber = joystick.ButtonNumber, AxisNumber = joystick.AxisNumber, AxisThreshold = joystick.AxisThreshold, AxisType = joystick.AxisType, Key = keyboard.Key, }); }
public object Clone() { var clone = new InputMapping(); clone.IsAxis = IsAxis; clone.ButtonNumber = ButtonNumber; clone.AxisNumber = AxisNumber; clone.AxisThreshold = AxisThreshold; clone.AxisType = AxisType; clone.Key = Key; return(clone); }
public static void SetConfig(KeyConfigIO keyConfig) { foreach (var item in keyConfig.InputMappings) { if (keyConfig.ControllerName == "KeyBoard") { inputMappings[item.Key] = InputMapping.MergeMapping(keyConfig.InputMappings[item.Key], inputMappings[item.Key]); } else { inputMappings[item.Key] = InputMapping.MergeMapping(inputMappings[item.Key], keyConfig.InputMappings[item.Key]); } } }
public bool Compare(InputMapping to, bool isKey) { if (isKey) { return(Key == to.Key); } else { if (IsAxis != to.IsAxis) { return(false); } if (IsAxis) { return(AxisNumber == to.AxisNumber && AxisType == to.AxisType && AxisThreshold == to.AxisThreshold); } else { return(ButtonNumber == to.ButtonNumber); } } }