setStep(step) {
    const lastStep = this.step;
    // update if different
    if (lastStep != step) {
      // reset and stop
      this.stopShowingDetails();
      this.setHighlighted(false);

      // set step
      this.step = step;

      // reset last
      if (lastStep != null) {
        if (this.cardSprite != null) {
          this.cardSprite.destroy();
          this.cardSprite = null;
        }
      }

      // update card always after resetting last and before showing new
      if (this.step == null) {
        this.setSdkCard(null);
      } else {
        const action = this.step.getAction();

        // set sdk card
        let sdkCard;
        if (action instanceof SDK.PlayCardFromHandAction || action instanceof SDK.PlaySignatureCardAction) {
          sdkCard = action.getCard();
        } else if (action instanceof SDK.MoveAction) {
          sdkCard = action.getSource();
        } else if (action instanceof SDK.AttackAction) {
          sdkCard = action.getSource();
        }
        this.setSdkCard(sdkCard);
      }

      // update sprites for owner
      this.updateSpritesForOwner();
    }
  }
Sets the step to be shown by this battle log node.
@param {SDK.Step} step