Exemple #1
0
        /*
         * Unbinding.
         */

        public void Unbind(CommandBindingBase binding)
        {
            if (!_bindings.TryGetValue(binding.Event, out var bindings))
            {
                return;
            }
            if (bindings.Remove(binding) && bindings.Count == 0)
            {
                UnbindAll(binding.Event);
            }
        }
Exemple #2
0
 private void AddBinding(EventBase key, CommandBindingBase binding)
 {
     if (!_bindings.ContainsKey(key))
     {
         _bindings[key] = new List <CommandBindingBase> {
             binding
         }
     }
     ;
     else
     {
         _bindings[key].Add(binding);
     }
 }
Exemple #3
0
        private void UnbindOrScheduleIfOnce(CommandBindingBase binding)
        {
            if (!binding.IsOnce)
            {
                return;
            }

            if (_commandsExecutionIterationTokens > 0)
            {
                _bindingsToUnbind.Add(binding);
            }
            else
            {
                Unbind(binding);
            }
        }