showATK(action, actionEventType) {
    if (actionEventType == null) { actionEventType = EVENTS.update_cache_action; }
    if (action == null
      || action.getIndex() > this._showingATKForActionIndex
      || (this._showingATKForActionEventType !== EVENTS.update_cache_step && actionEventType === EVENTS.update_cache_step)) {
      const entityNode = this.getEntityNode();
      const sdkCard = entityNode && entityNode.getSdkCard();
      let state;
      if (action != null) {
        this._showingATKForActionIndex = action.getIndex();
        this._showingATKForActionEventType = actionEventType;
        state = sdkCard.getActionStateRecord().getStateAtActionForEventType(action, actionEventType);
      } else {
        this._showingATKForActionIndex = -1;
        this._showingATKForActionEventType = null;
        state = sdkCard.getActionStateRecord().getCurrentState();
      }

      const { atk } = state;
      let color = cc.color.WHITE;
      // color rules:
      // below base stat = nerf color
      // above base stat = buff color
      // at base stat = normal color
      const { baseATK } = state;
      if (atk < baseATK) {
        color = CONFIG.NERF_COLOR;
      } else if (atk > baseATK) {
        color = CONFIG.BUFF_COLOR;
      }

      this.atkLabel.setFontFillColor(color);

      if (`${atk}` !== this.atkLabel.getString()) {
        this.atkLabel.setString(atk, true);
      }
    }
  }
Show atk stat value at action index, or current values if no action provided.
@param {SDK.Action} [action=null]
@param {String} [actionEventType=EVENTS.update_cache_action] action event type to show