/// <summary>
    /// Checks if any of the bindings have been pressed.
    /// </summary>
    /// <returns>True if down, false if not.</returns>
    public bool IsDown(InputHandler input)
    {
        if (Bindings == BindInputListener.NONE) return false;

        // evaluates the keyboard
        if ((Bindings & BindInputListener.KEYBOARD) != 0)
        {
            // there is a key, check if it's pressed.
            var press = Input.GetKeyDown(Key);
            if (press) return true;
        }

        // evaluates the mouse
        if ((Bindings & BindInputListener.MOUSE) != 0)
        {
            // there is a mouse button binding
            var clicked = input.MouseBtnDown(MouseButton);
            if (clicked) return true;
        }

        // evaluates the controller
        if (input.ControllerConnected() && (Bindings & BindInputListener.CONTROLLER) != 0)
        {
            // there is a controller binding
            var press = input.ControllerBtnDown(ControllerButton);
            if (press) return true;
        }

        return false;
    }