static SerializableBinding getSerializableBinding(Bindings command) { SerializableBinding b = (from binding in boundInputs where binding.binding == command select binding).First(); return(b); }
/// <summary> /// Get all inputs bound to a command /// </summary> /// <param name="command"><see cref="Bindings"/></param> /// <returns></returns> public static List <object> getInputs(Bindings command) { SerializableBinding b = getSerializableBinding(command); List <object> allBindings = new List <object>(); b.keys.ForEach(k => allBindings.Add(k)); b.buttons.ForEach(g => allBindings.Add(g)); return(allBindings); }
/// <summary> /// Bind keys to an input command. Any existing gamepad bindings /// will be preserved. /// </summary> /// <param name="command"><see cref="Bindings"/> to bind to</param> /// <param name="keys">Keys to bind</param> public static void setKeyboardBinds(Bindings command, params Keys[] keys) { SerializableBinding b = getSerializableBinding(command); b.keys = new List <Keys>(keys); }
/// <summary> /// Bind gamepad buttons to an input command. Any existing key bindings /// will be preserved. /// </summary> /// <param name="command"><see cref="Bindings"/> to bind to</param> /// <param name="keys">Buttons to bind</param> public static void setGamepadBinds(Bindings command, params Buttons[] buttons) { SerializableBinding b = getSerializableBinding(command); b.buttons = new List <Buttons>(buttons); }
bool Comparer( SerializableBinding sb, SimpleBinding s ) { return (sb.Target == s.Target.Name && sb.Origin == s.Origin.Name && sb.Position == s.Position) || (sb.Target == s.Origin.Name && sb.Origin == s.Target.Name && sb.Position == GetOppositePosition( s.Position )); }