Esempio n. 1
0
 private ModMaestro()
 {
     instance = this;
     meleeModificationType = new List <Possibility>()
     {
         new Possibility("Attack_Damage_Modification", 0f),
         new Possibility("Attack_Speed_Modification", 0f),
         new Possibility("Movement_Speed_Modification", 0f)
     };
     rangedModificationType = new List <Possibility>()
     {
         new Possibility("Attack_Damage_Modification", 0f),
         new Possibility("Attack_Range_Modification", 0f),
         new Possibility("Attack_Speed_Modification", 0f),
         new Possibility("Movement_Speed_Modification", 0f)
     };
     modLevel = new List <Possibility>()
     {
         new Possibility("_1", 0f),
         new Possibility("_2", 0f),
         new Possibility("_3", 0f),
         new Possibility("_4", 0f),
         new Possibility("_5", 0f)
     };
     RefreshProbabilities();
     RefreshModLevelProbabilities();
 }
Esempio n. 2
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++;
        }
    }