bindToGameSession() {
    const gameSession = SDK.GameSession.getInstance();

    // clear queue
    this._stepsProcessed = [];

    // clear all nodes
    for (var i = 0, il = this._battleLogNodes.length; i < il; i++) {
      const battleLogNode = this._battleLogNodes[i];
      battleLogNode.setStep(null);
      battleLogNode.setVisible(false);
    }

    // return all nodes to pool
    this._battleLogNodesPool = this._battleLogNodes.slice(0);
    this._battleLogNodesInUse = [];

    // get max number of recent steps
    const stepsForLog = [];
    const turns = [].concat(gameSession.getTurns(), gameSession.getCurrentTurn());
    for (var i = turns.length - 1; i >= 0; i--) {
      const turn = turns[i];
      const steps = turn.getSteps();
      for (let j = steps.length - 1; j >= 0; j--) {
        const step = steps[j];
        // gather entries until max found
        if (this.getIsValidEntry(step)) {
          stepsForLog.unshift(step);
        }
        if (stepsForLog.length >= CONFIG.MAX_BATTLELOG_ENTRIES) { break; }
      }
      if (stepsForLog.length >= CONFIG.MAX_BATTLELOG_ENTRIES) { break; }
    }

    // add all steps as entries
    for (var i = 0, il = stepsForLog.length; i < il; i++) {
      this._addStep(stepsForLog[i]);
    }

    // update positions of all nodes
    this._updateBattleLogNodesPositions();
  }
Binds the battle log instantly to the current game session state.