Example #1
0
 IEnumerator SpawnNextWave(Wave wave)
 {
     arrowPath.ShowPath(wave.pathIndex);
     waveCount++;
     for (int i = 0; i < wave.waveEnemies.Length; i++)
     {
         for (int j = 0; j < wave.waveEnemies[i].enemyCount; j++)
         {
             GameObject enemy = Instantiate(wave.waveEnemies[i].prefab);
             enemy.GetComponent <MoneyValue> ().moneyValue = (int)wave.resourcesKill;
             StateController controller = enemy.GetComponent <StateController>();
             controller.GetComponent <NavMeshAgent>().enabled = false;
             controller.wayPoints = paths[wave.pathIndex].GetPath();
             Transform[] path = paths[wave.pathIndex].GetPath();
             enemy.transform.position = path[0].position;
             controller.GetComponent <NavMeshAgent>().enabled  = true;
             controller.GetComponent <MoneyValue>().moneyValue = (int)wave.resourcesKill;
             enemyCount++;
             yield return(new WaitForSeconds(wave.spawnRate));
         }
     }
     arrowPath.HidePath(wave.pathIndex);
     if (waveCount == waves.Length)
     {
         isFinished = true;
     }
 }