_getMergedTileCornerValues(mapNode, map, altMap) {
    let ntl; let nt; let ntr; let nr; let nbr; let nb; let nbl; let
      nl;
    const values = {
      tl: '', tr: '', br: '', bl: '',
    };

    if (mapNode) {
      const board = SDK.GameSession.getInstance().getBoard();
      const x = parseInt(mapNode.x);
      const y = parseInt(mapNode.y);
      const vl = x > 0;
      const vr = x < CONFIG.BOARDCOL - 1;
      const vb = y > 0;
      const vt = y < CONFIG.BOARDROW - 1;
      const il = UtilsPosition.getMapIndexFromPosition(board.getColumnCount(), x - 1, y);
      const ir = UtilsPosition.getMapIndexFromPosition(board.getColumnCount(), x + 1, y);
      const it = UtilsPosition.getMapIndexFromPosition(board.getColumnCount(), x, y + 1);
      const ib = UtilsPosition.getMapIndexFromPosition(board.getColumnCount(), x, y - 1);
      const itl = UtilsPosition.getMapIndexFromPosition(board.getColumnCount(), x - 1, y + 1);
      const itr = UtilsPosition.getMapIndexFromPosition(board.getColumnCount(), x + 1, y + 1);
      const ibl = UtilsPosition.getMapIndexFromPosition(board.getColumnCount(), x - 1, y - 1);
      const ibr = UtilsPosition.getMapIndexFromPosition(board.getColumnCount(), x + 1, y - 1);

      nl = vl && map[il];
      nr = vr && map[ir];
      nt = vt && map[it];
      ntl = nt && nl && map[itl];
      ntr = nt && nr && map[itr];
      nb = vb && map[ib];
      nbl = nb && nl && map[ibl];
      nbr = nb && nr && map[ibr];

      values.tl = (nl ? '1' : '') + (ntl ? '2' : '') + (nt ? '3' : '');
      values.tr = (nt ? '1' : '') + (ntr ? '2' : '') + (nr ? '3' : '');
      values.br = (nr ? '1' : '') + (nbr ? '2' : '') + (nb ? '3' : '');
      values.bl = (nb ? '1' : '') + (nbl ? '2' : '') + (nl ? '3' : '');

      // alt map used to create corner seams
      if (altMap) {
        if (vl) {
          if (!values.tl && altMap[il]) { values.tl = '_seam'; }
          if (!values.bl && altMap[il]) { values.bl = '_seam'; }
          if (!values.tl && altMap[itl]) { values.tl = '_seam'; }
          if (!values.bl && altMap[ibl]) { values.bl = '_seam'; }
        }
        if (vr) {
          if (!values.tr && altMap[ir]) { values.tr = '_seam'; }
          if (!values.br && altMap[ir]) { values.br = '_seam'; }
          if (!values.tr && altMap[itr]) { values.tr = '_seam'; }
          if (!values.br && altMap[ibr]) { values.br = '_seam'; }
        }
      }
    }

    return values;
  }
Returns an object containing the merged tile part identifiers for all 4 parts of a merged tile.
@param mapNode
@param map
@param altMap
@returns {{tl: string, tr: string, br: string, bl: string}}
@private