getNodeUnderMouse(screenX, screenY) {
    if (!this.whenRequiredResourcesReady().isFulfilled()) return false;

    const contentSize = this.cardBackgroundSprite._contentSize;
    const renderCmd = this._renderCmd;
    const stackMat = renderCmd._stackMatrix.mat;
    const scaleX = stackMat[0];
    const scaleY = stackMat[5];
    let x = stackMat[12] + this.centerOffset.x * 0.5 + CONFIG.CARD_PADDING * 0.5 * scaleX;
    let y = stackMat[13] + this.centerOffset.y * 0.5 + CONFIG.CARD_PADDING * 0.5 * scaleY;
    if (renderCmd.getNeedsPerspectiveProjection()) {
      x += cc.winSize.width * 0.5;
      y += cc.winSize.height * 0.5;
    }
    const width = contentSize.width * scaleX;
    const height = contentSize.height * scaleY;
    return screenX >= x && screenX <= x + width && screenY >= y && screenY <= y + height;
  }
Returns whether the card is under a mouse position. Calculates using background size instead of total content size.
@param  {Number} screenX
@param  {Number} screenY
@returns {Boolean}