private IEnumerator spawnNavigationNodes() { yield return(new WaitForSeconds(1.5f)); // Create node grid navNodePrefab = Resources.Load <GameObject>("Prefabs/NavigationNode"); Vector3 startPos = cameraContainer.transform.position; for (float y = 0; y < 2; y++) { for (float x = 0; x < 3; x++) { spawnNavigationNode(startPos, new Vector3(x, y, 0)); spawnNavigationNode(startPos, new Vector3(x, y, 2)); } for (float z = 1; z < 2; z++) { spawnNavigationNode(startPos, new Vector3(0, y, z)); spawnNavigationNode(startPos, new Vector3(2, y, z)); } } // Set current node NavigationNode[] nodes = FindObjectsOfType <NavigationNode>(); bool isInitialNodeFound = false; for (int i = 0; !isInitialNodeFound && i < nodes.Length; i++) { Vector3 nodePos = nodes[i].transform.position; if (nodePos == startPos) { isInitialNodeFound = true; NavigationNode.initCurrentNode(nodes[i]); } } // Add middle node GameObject navNode = GameObject.Instantiate(navNodePrefab); navNode.name = "middleNode"; navNode.transform.parent = navigatioNodeContainer; Vector3 position = modelOrigin.position; position.y += 1.5f; navNode.transform.position = position; }