public static void CreateGridNavigation(NavigationGraph p_navigationGraph, int XNumber, int ZNumber) { CreateGridNavigationStructure(XNumber, ZNumber, out Dictionary <int, Vector3> l_navigationNodes, out List <GridNavigationLink> l_navigationLinks); List <NavigationNode> l_instancedNavigationNodes = new List <NavigationNode>(l_navigationNodes.Count); for (int i = 0; i < l_navigationNodes.Count; i++) { NavigationNode l_instancedNavigationNode = NavigationGraph.instanciateAndAddNode(p_navigationGraph); l_instancedNavigationNode.LocalPosition = l_navigationNodes[i]; l_instancedNavigationNodes.Add(l_instancedNavigationNode); } foreach (GridNavigationLink l_link in l_navigationLinks) { NavigationGraph.createLinkBetween(p_navigationGraph, l_instancedNavigationNodes[l_link.StartNode], l_instancedNavigationNodes[l_link.EndNode], math.distance(l_instancedNavigationNodes[l_link.StartNode].LocalPosition, l_instancedNavigationNodes[l_link.EndNode].LocalPosition)); } }