Exemple #1
0
        bool ProcessKeyEvent(TextCompositionEventArgs e, GameKeyBinding[] bindings)
        {
            if (e.Text.Length != 1)
                return false;

            char key = e.Text[0];

            foreach (var b in bindings)
            {
                var binding = b as GameTextKeyBinding;

                if (binding == null)
                    continue;

                if (binding.Key != key)
                    continue;

                binding.Action(e);
                e.Handled = true;
                return true;
            }

            return false;
        }
Exemple #2
0
        bool ProcessKeyEvent(KeyEventArgs e, GameKeyBinding[] bindings)
        {
            var key = e.Key;

            foreach (var b in bindings)
            {
                var binding = b as GameRawKeyBinding;

                if (binding != null)
                {
                    if (binding.Key != key || binding.Mods != e.KeyboardDevice.Modifiers)
                        continue;

                    binding.Action(e);
                    e.Handled = true;
                    return true;
                }

                var wild = b as GameWildKeyBinding;

                if (wild != null)
                {
                    if (wild.Action(e))
                    {
                        e.Handled = true;
                        return true;
                    }
                }
            }

            return false;
        }