void OnTriggerEnter2D(Collider2D other) { if (other.gameObject == target) { FarmerControllerScript properties = other.gameObject.GetComponent <FarmerControllerScript>(); properties.GetHit(damage); DestroyObject(gameObject); } }
void Update() { timeInRound += Time.deltaTime; if (!doneSpawning && timeInRound > currentSpawn.spawnTime) { int rand = randomNumberGenerator.Next(0, numberOfSpawnLocations); Node spawnLocation = MapGraph.sharedInstance.getSpawnNodes()[rand]; GameObject newFarmer = (GameObject)Instantiate(prefabs[(int)currentSpawn.enemyType - 1], spawnLocation.getOuterMostCoordinate(), Quaternion.identity); FarmerControllerScript farmerScript = newFarmer.GetComponent <FarmerControllerScript>(); farmerScript.nextNode = spawnLocation; activeEnemies.Add(newFarmer); if (sIterator.roundSpawnIndex < spawnWave[sIterator.roundIndex].Count - 1) { sIterator.roundSpawnIndex++; UpdateCurrentSpawn(); } else if (sIterator.roundIndex < spawnWave.Count - 1) { sIterator.roundIndex++; sIterator.roundSpawnIndex = 0; doneSpawning = true; timeInRound = 0; UpdateCurrentSpawn(); } else { doneSpawning = true; } } else if (doneSpawning) { int aliveCount = 0; for (var i = 0; i < activeEnemies.Count; i++) { if (activeEnemies[i] != null) { aliveCount++; } } if (aliveCount == 0) { doneSpawning = false; activeEnemies = new List <GameObject>(); if (sIterator.roundSpawnIndex == spawnWave[sIterator.roundIndex].Count - 1 && sIterator.roundIndex == spawnWave.Count - 1) { gameObject.GetComponent <LevelScreenScript>().level += 1; nextState = gameObject.GetComponent <LevelScreenScript>(); } } timeInRound = 0; } }