Exemple #1
0
        public void KeyPressed(Keys key)
        {
            lastKey = now;

            if (currentCombo == null)
            {
                Console.WriteLine("new combo");
            }

            KeyComboNode node = currentCombo ?? rootNode;
            KeyComboNode newNode;
            bool         end = node.KeyPressed(key, out newNode);

            if (end && currentCombo != null && newNode == null)
            {
                Console.WriteLine("combo ended");
                ComboReset?.Invoke(this, EventArgs.Empty);

                currentCombo = null;
                KeyPressed(key);
            }
            else
            {
                currentCombo = newNode;
            }
        }
Exemple #2
0
        public void Update(GameTime gameTime)
        {
            now = gameTime.TotalGameTime.TotalMilliseconds;

            if (now - lastKey > 1000 && currentCombo != null)
            {
                ComboReset?.Invoke(this, EventArgs.Empty);
                currentCombo = null;
            }
        }