his._updateColor();
          }
        }

        get touched() {
          return this._touched;
        }

        move(dx, dy) {
          this._dx = dx;
          this._dy = dy;
          this._updateTransform();
        }
      }

      class GamepadBoxSet extends Node {
        constructor(buttonCount, axesCount) {
          super();
          this.setup_buttons_and_axes(buttonCount, axesCount);
        }

        setup_buttons_and_axes(buttonCount, axesCount) {
          let axesBoxCount = Math.ceil