示例#1
0
 public InputBinding(string name, T[] triggers, InputBindingCallback callback, InputTriggerState state)
 {
     Name     = !string.IsNullOrEmpty(name) ? name : throw new ArgumentNullException(nameof(name));
     Callback = callback ?? throw new ArgumentNullException(nameof(callback));
     Triggers = triggers;
     State    = state;
 }
示例#2
0
        public void Rebind(string name, InputTriggerState state, params T[] combination)
        {
            if (combination.Length < 2)
            {
                throw new ArgumentOutOfRangeException(nameof(combination), "at least 2 triggers are required for combination");
            }

            var binding = bindings.First(b => b.Name == name);

            binding.Triggers = combination.ToArray();
            binding.State    = state;
        }
示例#3
0
        public void Bind(string name, InputBindingCallback callback, InputTriggerState state, T trigger)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentNullException(nameof(name));
            }
            if (callback == null)
            {
                throw new ArgumentNullException(nameof(callback));
            }

            bindings.Add(new InputBinding <T>(name, new[] { trigger }, callback, state));
        }
示例#4
0
        public void Rebind(string name, InputTriggerState state, T trigger)
        {
            var binding = bindings.First(b => b.Name == name);

            if (binding.Triggers.Length > 1)
            {
                binding.Triggers = new[] { trigger }
            }
            ;
            else
            {
                binding.Triggers[0] = trigger;
            }

            binding.State = state;
        }
示例#5
0
        public void Bind(string name, InputBindingCallback callback, InputTriggerState state, params T[] combination)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentNullException(nameof(name));
            }
            if (callback == null)
            {
                throw new ArgumentNullException(nameof(callback));
            }
            if (combination.Length < 2)
            {
                throw new ArgumentOutOfRangeException(nameof(combination), "atleast 2 triggers are required for combination");
            }

            bindings.Add(new InputBinding <T>(name, combination, callback, state));
        }
示例#6
0
 public void Rebind(string name, InputTriggerState state, MouseButton trigger)
 => manager.Rebind(name, state, trigger);
示例#7
0
 public void Rebind(string name, InputTriggerState state, params MouseButton[] combination)
 => manager.Rebind(name, state, combination);
示例#8
0
 public void Bind(string name, InputBindingCallback callback, InputTriggerState state, MouseButton trigger)
 => manager.Bind(name, callback, state, trigger);
示例#9
0
 public void Bind(string name, InputBindingCallback callback, InputTriggerState state, params MouseButton[] combination)
 => manager.Bind(name, callback, state, combination);
示例#10
0
 public void Rebind(string name, InputTriggerState state, Keys trigger)
 => manager.Rebind(name, state, trigger);