showInsert(sdkCard) {
    // reset
    if (sdkCard != null) {
      this.setSdkCard(sdkCard);
    }

    if (this.sdkCard != null) {
      return new Promise((resolve, reject) => {
        // hide self
        this.setOpacity(0);

        this.whenResourcesReady(this.getCardResourceRequestId()).then((cardResourceRequestId) => {
          if (!this.getAreResourcesValid(cardResourceRequestId)) return; // card has changed
          // move card into position
          const moveAmount = 30.0;

          const bgPosition = this.background.getPosition();
          this.background.setPosition(bgPosition.x + moveAmount, bgPosition.y);
          var moveAction = cc.moveBy(CONFIG.ANIMATE_FAST_DURATION, -moveAmount, 0.0).easing(cc.easeExponentialOut());
          this.addAnimationAction(moveAction);
          this.background.runAction(moveAction);

          const titlePosition = this.titleLabel.getPosition();
          this.titleLabel.setPosition(titlePosition.x + moveAmount, titlePosition.y);
          var moveAction = cc.moveBy(CONFIG.ANIMATE_FAST_DURATION, -moveAmount, 0.0).easing(cc.easeExponentialOut());
          this.addAnimationAction(moveAction);
          this.titleLabel.runAction(moveAction);

          const manaCostPosition = this.manaCostLabel.getPosition();
          this.manaCostLabel.setPosition(manaCostPosition.x + moveAmount, manaCostPosition.y);
          var moveAction = cc.moveBy(CONFIG.ANIMATE_FAST_DURATION, -moveAmount, 0.0).easing(cc.easeExponentialOut());
          this.addAnimationAction(moveAction);
          this.manaCostLabel.runAction(moveAction);

          const cardPosition = this.cardSprite.getPosition();
          this.cardSprite.setPosition(cardPosition.x + moveAmount, cardPosition.y);
          var moveAction = cc.sequence(
            cc.moveBy(CONFIG.ANIMATE_FAST_DURATION, -moveAmount, 0.0).easing(cc.easeExponentialOut()),
            cc.callFunc(() => {
              resolve();
            }),
          );
          this.addAnimationAction(moveAction);
          this.cardSprite.runAction(moveAction);

          // fade self in
          const insertCardAction = cc.fadeIn(0.1);
          this.addAnimationAction(insertCardAction);
          this.runAction(insertCardAction);
        });
      });
    }
    return Promise.resolve();
  }
Shows a card being inserted into deck.
@param sdkCard
@returns {Promise}