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

      const { hp } = state;
      let color = cc.color.WHITE;
      // color rules:
      // below base stat = nerf color
      // above base stat = buff color
      // at base stat = normal color
      const { maxHP } = state;
      const { baseMaxHP } = state;
      const { damage } = state;
      if (damage !== 0) {
        color = CONFIG.NERF_COLOR;
      } else if (maxHP > baseMaxHP) {
        color = CONFIG.BUFF_COLOR;
      }

      this.hpLabel.setFontFillColor(color);

      if (`${hp}` !== this.hpLabel.getString()) {
        this.hpLabel.setString(hp, true);
      }
    }
  }
Show hp 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