// Generate a new column of tiles, starting with the given sprite void MakeNewColumn(Sprite next) { nextPosition.x += 2; if (next.name == "blank") { if (gapLength == maxGap) { next = verticalUp[0]; gapLength = 0; } else { gapLength++; } } nextTile = InstantiateTile(next, nextPosition); nextColumnTile = nextTile; nextColumnPosition = nextPosition; AddFood(nextTile.transform.position); if (nextTile.name != "blank") { GameEventManager.AddNewColumn(nextTile.transform.position); } for (int i = 0; i < numberOfTilesY; i++) { nextColumnPosition.y -= 2; nextColumnTile = InstantiateTile(TileFromDistribution(belowDistributions[nextColumnTile.name]), nextColumnPosition); if (IsDeadEnd(nextTile)) { nextTile = nextColumnTile; nextPosition = nextColumnPosition; } } }