public void SpawnMultiUnits() { if (gameOver) { return; } Grid startGrid = connectionGrid.gridList[1]; Vector3 offset = new Vector3(0, 5, 0); for (int i = 0; i < agentCount; i++) { if (myAgents.Count < MAX_UNITS) { int randomIndex = Random.Range(0, startGrid.permanentNodes.Count); Vector3 spawnLocation = startGrid.permanentNodes[randomIndex].GetLocation() + offset; GameObject newUnit = Instantiate(unitPrefab, spawnLocation, Quaternion.identity) as GameObject; GridAgent newAgent = newUnit.GetComponent <GridAgent>(); newAgent.SetNavigationGrid(connectionGrid); newAgent.Initialize(this); myAgents.Add(newAgent); } } }
void SpawnUnit() { Grid startGrid = connectionGrid.gridList[1]; int index = 461; startNode = startGrid.nodeList[index]; endNode = connectionGrid.gridList[0].nodeList[index]; float range = 10f; for (int i = 0; i < agentCount; i++) { Vector3 initialLocation = startNode.GetLocation(); Vector3 offset = new Vector3(Random.Range(-range, range), 1, Random.Range(-range, range)); Vector3 spawnLocation = initialLocation + offset; GameObject newUnit = Instantiate(unitPrefab, spawnLocation, Quaternion.identity) as GameObject; GridAgent newAgent = newUnit.GetComponent <GridAgent>(); newAgent.SetNavigationGrid(connectionGrid); myAgents.Add(newAgent); } }