/// <summary> /// Spawn enemies /// </summary> /// <param name="enemyObject"></param> /// <param name="point"></param> public void SpawnEnemy(GameObject enemyObject, LevelDataBase.EnemySpawnDetails spawnData) { EnemySpawnPointObjects spawnPoint = enemySpawnPoints.Find(pt => pt.Point == spawnData.SpawnPoint); if (spawnPoint != null) { GameObject obj = Instantiate(enemyObject, spawnPoint.PointObject.position, spawnPoint.PointObject.rotation); obj.GetComponent <MovementController>().SetNode(spawnData.DesgnatedPath); } }
/// <summary> /// To check spawn validity /// </summary> private void CheckSpawnValidity() { if (Global.CurrentGame.LevelData != null) { for (int i = 0; i < Global.CurrentGame.LevelData.LevelSpawnList.Count; i++) { LevelDataBase.EnemySpawnDetails data = Global.CurrentGame.LevelData.LevelSpawnList[i]; if (data.InTime <= secondsCount && !data.IsSpawned) { EnemySpawnStashElement enemy = enemyStash.Find(en => en.Type == data.Type); Spawner.SpawnEnemy(enemy.EnemyPrefab, data); data.IsSpawned = true; spawnedEnemies++; } } if (spawnedEnemies == Global.CurrentGame.LevelData.LevelSpawnList.Count) { StopOperation(); } } }