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);
        }