public float CalculateCost <L, G>(LinkMap2D <L, G> linkMap2D) { var sum = 0.0F; for (int i = 1; i < path.Length; i++) { sum += Vector2.Distance(path[i - 1], path[i]); } return(sum); }
public void GenerateLinks(LinkMap2D <L, G> linkMap) { var navmesh = linkMap.NavMesh; var min = navmesh.Min; var max = navmesh.Max; var nodes = new L[navmesh.Area]; for (var x = min.x; x <= max.x; x++) { for (var y = min.y; y <= max.y; y++) { var index = linkMap.NavMesh.IndexOfUnsafe(x, y); nodes[index] = linkMap.Generate(x, y); } } linkMap.nodes = nodes; }