updateTiles method

void updateTiles(
  1. int length
)

Implementation

void updateTiles(int length){
  int i = selectedTileLayer;
  if(maxGridSize.width < grid.width){
    List<TileRects> newTiles = List<TileRects>.filled(length, TileRects(),growable: true);
    //for(int i = 0; i < tileLayer.length; i++){
      for(int j = 0; j < tileLayer[i].tiles.length; j++){
        if(tileLayer[i].tiles[j].position.isNotEmpty){
          int x = tileLayer[i].tiles[j].position[0];
          int y = tileLayer[i].tiles[j].position[1]*grid.width;
          newTiles[x+y] = tileLayer[i].tiles[j];
        }
      }
      tileLayer[i].tiles = newTiles;
    //}
  }
  else{
    //for(int i = 0; i < tileLayer.length;i++){
      if(tileLayer[i].tiles.length < length){
        for(int j = tileLayer[i].tiles.length; j < length; j++){
          tileLayer[i].tiles.add(TileRects());
        }
      }
    //}
  }

  maxGridSize = Size(
    maxGridSize.width < grid.width?grid.width.toDouble():maxGridSize.width,
    maxGridSize.height < grid.height?grid.height.toDouble():maxGridSize.height
  );
}