Example #1
0
        public void OnKeyDown(KeyboardKeyEventArgs e)
        {
            if (e.IsRepeat)
            {
                return;
            }
            KeyboardEventFunction callbacks = null;
            var evnt = new KeyboardEvent(e);

            keyBindings.TryGetValue(evnt, out callbacks);

            if (callbacks != null)
            {
                activeKeys.Add(evnt);
            }
            var newAxis = axisManager.Handle(e);

            foreach (var a in newAxis)
            {
                if (!activeAxis.Contains(a))
                {
                    activeAxis.Add(a);
                }
            }
        }
Example #2
0
        public void RegisterKeybinding(KeyboardEvent evnt, KeyboardEventFunction callback)
        {
            KeyboardEventFunction cb;

            if (keyBindings.TryGetValue(evnt, out cb))
            {
                cb += callback;
            }
            else
            {
                keyBindings.Add(evnt, callback);
            }
        }
Example #3
0
        public void DigestAll()
        {
            foreach (var k in activeKeys)
            {
                KeyboardEventFunction callbacks = null;
                keyBindings.TryGetValue(k, out callbacks);
                if (callbacks != null)
                {
                    callbacks.Invoke();
                }
            }

            foreach (var a in activeAxis)
            {
                axisManager.ExecuteById(a);
            }
        }