showActiveGame() {
    if (this._showActiveGamePromise == null) {
      this._showActiveGamePromise = new Promise((resolve, reject) => {
        this.whenIsStatusForActiveGame().then(() => {
          Logger.module('ENGINE').log('GameLayer.showActiveGame');
          // bind players and change status
          this.bindSdkPlayers();
          this.setStatus(GameLayer.STATUS.TRANSITIONING_TO_ACTIVE);

          // transition to active hand
          this.bottomDeckLayer.showActiveHand();
          this.whenHighlightedGeneralsAsync().then(() => {
            // unhighlight generals
            this._player.unhighlightGeneral();
            this._opponent.unhighlightGeneral();

            // clear mouse
            this.stopMouseDown();

            // show battlelog
            if (CONFIG.showBattleLog) {
              this._battleLog.setOpacity(0.0);
              this._battleLog.fadeTo(CONFIG.FADE_FAST_DURATION, 255.0);
              this._battleLog.setVisible(true);
            }

            // activate battle
            this._battleMap.activate();
            return this._battleMap.whenStatus(BattleMap.STATUS.ACTIVE).then(() => {
              Logger.module('ENGINE').log('GameLayer set active game');

              // set as active
              this.setStatus(GameLayer.STATUS.ACTIVE);

              // show modifiers
              this.bindAppliedModifiers(CONFIG.FADE_SLOW_DURATION);

              // show players
              this.player1Layer.showActiveGame();
              this.player2Layer.showActiveGame();

              // show start turn
              this.showStartTurn();
              this.updateEntityNodeOwnerSprites();
              this.updateShowingSdkNodeStats();
              this.bottomDeckLayer.bindHandUsability();

              this.getEventBus().trigger(EVENTS.show_active_game, { type: EVENTS.show_active_game });

              resolve();
            });
          });
        });
      });
    }

    return this._showActiveGamePromise;
  }
Shows the active game state when the status is set to a status that can transition into an active game.
@returns {Promise}