Пример #1
0
 public void SpawnEnemies()
 {
     foreach (EnemySpawn EnemySpawn in enemySpawnArray)
     {
         EnemySpawn.Spawn();
     }
 }
Пример #2
0
        private void SpawnEnemies()
        {
            if (Encounter.Done && Enemies.Count <= 50)
            {
                var baseTile    = World.Player.Tile;
                int spawnAmount = 1;
                List <EnemySpawn> possibleSpawns = new List <EnemySpawn>();

                foreach (var spawnTile in GetValidSpawnLocations(baseTile, tile => !tile.Creatures.Any(), 6).TakeWhile(x => spawnAmount > 0))
                {
                    possibleSpawns.AddRange(spawnTile.Group.Spawns.Where(x => x.CanSpawn(spawnTile)));
                    if (possibleSpawns.Empty())
                    {
                        continue;
                    }
                    EnemySpawn spawn = possibleSpawns.Pick(Random);
                    foreach (var enemy in spawn.Spawn(World, spawnTile))
                    {
                        Enemies.Add(enemy);
                        enemy.AddControlTurn();
                        new Smoke(World, enemy.VisualTarget, Vector2.Zero, 0, 15);
                    }
                    spawnAmount--;
                    possibleSpawns.Clear();
                }

                Encounter.Time = 0;
            }
        }
 public void SpawnEnemies()
 {
     foreach (GameObject point in spawnPoints)
     {
         point.SetActive(true);
         EnemySpawn enemySpawn = point.GetComponent <EnemySpawn>();
         enemySpawn.Spawn();
     }
 }
Пример #4
0
    IEnumerator EnemySpawnCoroutine()
    {
        while (playerAlive)
        {
            enemySpawn.Spawn();
            // sometimes extra bad guy
            if (Game.score >= occasionalDoubleSpawnScoreMilestone &&
                Random.Range(0, occasionalDoubleSpawnProbability) == 0)
            {
                enemySpawn.Spawn();
            }

            appManager.soundManager.Play(SoundManager.soundId.enemyBirth);

            yield return(new WaitForSeconds(enemySpawnFrequency));
        }

        yield return(null);
    }
Пример #5
0
    // Update is called once per frame

    public void Spawn()
    {
        if (enemiesLeft > 0)
        {
            EnemySpawn rand = GetRandomSpawn();
            if (rand != null && rand.enemyCount > 0)
            {
                enemiesLeft--;
                rand.Spawn();
            }
        }
    }
    private void SpawnEnemy()
    {
        if (enemySpawns.Length == 0 || enemies.Count == 0 || remainingEnemies.Count == 0)
        {
            return;
        }

        int index = UnityEngine.Random.Range(0, remainingEnemies.Count - 1);

        GameObject enemyObject = remainingEnemies[index];

        int i = UnityEngine.Random.Range(0, enemySpawns.Length);

        EnemySpawn enemySpawn = enemySpawns[i];

        enemySpawn.Spawn(enemyObject);

        remainingEnemies.Remove(enemyObject);
    }
Пример #7
0
    private void SpawnEnemy()
    {
        int aliveCount = 0;

        foreach (EnemySpawn enemySpawned in enemySpawnList)
        {
            if (enemySpawned.IsAlive())
            {
                // Enemy alive
                aliveCount++;
                if (aliveCount >= 7)
                {
                    // Don't spawn more enemies
                    return;
                }
            }
        }

        Vector3 spawnPosition = spawnPositionList[UnityEngine.Random.Range(0, spawnPositionList.Count)];

        EnemySpawn pfEnemySpawn;
        int        rnd = UnityEngine.Random.Range(0, 100);

        pfEnemySpawn = pfEnemyArcherSpawn;
        if (rnd < 65)
        {
            pfEnemySpawn = pfEnemyChargerSpawn;
        }
        if (rnd < 15)
        {
            pfEnemySpawn = pfEnemyShooterSpawn;
        }

        EnemySpawn enemySpawn = Instantiate(pfEnemySpawn, spawnPosition, Quaternion.identity);

        enemySpawn.Spawn();

        enemySpawnList.Add(enemySpawn);
    }
Пример #8
0
 public EliminateTargetQuestState(EliminateTargetObjective questData, EnemySpawn spawn) : base(questData)
 {
     _targetUnitId = questData.UnitId;
     spawn.Spawn(questData.UnitType, _targetUnitId);
     EnemyManager.Instance.OnEnemyDefeated += OnEnemyDefeated;
 }