Ejemplo n.º 1
0
                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);
                }
Ejemplo n.º 2
0
        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;
        }