Ejemplo n.º 1
0
    private void SpawnWave(int numberOfEnemies)
    {
        int spawnedEnemies = 0;

        while (spawnedEnemies < numberOfEnemies)
        {
            int     index        = UnityEngine.Random.Range(0, room.Instantiated_Tiles.Count - 1);
            Vector3 tileLocation = room.Instantiated_Tiles[index].transform.position;
            Vector3 center       = new Vector3((tileLocation.x + (tileLocation.x + Tile.X_length)) / 2f, 2, (tileLocation.z + (tileLocation.z - Tile.Z_length)) / 2f);
            int     melee_ranged = UnityEngine.Random.Range(0, 2);
            if (melee_ranged == 0)
            {
                GameObject enemy = UnityEngine.Object.Instantiate(Enemy_Prefab_Manager.GetInstance().GetMeleeEnemies()[0], center, new Quaternion());
                enemy.GetComponent <Basic_Enemy>().battle = this;
                AddEnemy(enemy);
                for (int i = 0; i < enemy.GetComponent <Basic_Enemy>().Modification_Bases.GetAllBases().Count; i++)
                {
                    enemy.GetComponent <Basic_Enemy>().Add_Modification(ModMaestro.GetInstance().ChooseMeleeModification());
                }
            }
            else
            {
                GameObject enemy = UnityEngine.Object.Instantiate(Enemy_Prefab_Manager.GetInstance().GetRangedEnemies()[0], center, new Quaternion());
                enemy.GetComponent <Basic_Enemy>().battle = this;
                AddEnemy(enemy);
                for (int i = 0; i < enemy.GetComponent <Basic_Enemy>().Modification_Bases.GetAllBases().Count; i++)
                {
                    enemy.GetComponent <Basic_Enemy>().Add_Modification(ModMaestro.GetInstance().ChooseRangedModification());
                }
            }
            spawnedEnemies++;
        }
    }
Ejemplo n.º 2
0
 private Enemy_Prefab_Manager()
 {
     instance      = this;
     meleeEnemies  = LoadMelleeEnemies();
     rangedEnemies = LoadRangedEnemies();
 }