public override void Generate() { pathfinderObject = new GameObject(GraphName); pathfinderObject.transform.parent = GraphContainer; pathfinderObject.transform.position = GraphPosition; pathfinderObject.tag = GraphTag; pathfinder = pathfinderObject.AddComponent<Pathfinder>(); pathfinder.ColorTraversable = ColorTraversable; pathfinder.ColorOutOfReach = ColorOutOfReach; pathfinder.ColorNeutral = ColorNeutral; pathfindingNodes = new PathfindingNode[GraphWidth, GraphHeight]; for (int y = 0; y < GraphHeight; y++) { for (int x = 0; x < GraphWidth; x++) { pathfinderNodeObject = GameObject.Instantiate(NodePrefab) as GameObject; pathfindingNode = pathfinderNodeObject.GetComponent<PathfindingNode>(); pathfindingNode.SetColor(pathfinder.ColorNeutral); pathfinderNodeObject.name = "(" + x + ", " + y + ") " + NodePrefab.name; pathfinderNodeObject.transform.parent = pathfinderObject.transform; pathfinderNodeObject.transform.position = new Vector3(x, y, 0); pathfindingNodes[x, y] = pathfindingNode; } } pathfinder.SetNodes(pathfindingNodes); }