예제 #1
0
        static SerializableBinding getSerializableBinding(Bindings command)
        {
            SerializableBinding b = (from binding
                                     in boundInputs
                                     where binding.binding == command
                                     select binding).First();

            return(b);
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
        /// <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 ));
 }