private void TurnPathwayIntoMesh(Edge edge) { var vertices = _meshCreator.CalculateVertices(rows, columns, pathWidth, edge, out var uvs, out var tangents); var triangles = _meshCreator.CalculateTriangles(rows, columns); // Don't create a new path if any of the two methods returned a empty array if (vertices.Length == 0 || triangles.Length == 0) { return; } var pathName = new StringBuilder("Path | "); pathName.Append(edge.Start.Tile != null ? $"{edge.Start.Tile.Id}" : "0"); pathName.Append(edge.End.Tile != null ? $" - {edge.End.Tile.Id}" : " - 0"); var path = Instantiate(prefab, pathwayContainer); path.name = pathName.ToString(); path.Weight = edge.Weight; path.Mesh = _meshCreator.CreateGridMesh(vertices, triangles, uvs, tangents); _vertices.AddRange(vertices); }