示例#1
0
    private void SpawnEnemy()
    {
        Enemy tempEnemy;
        int   k = UnityEngine.Random.Range(0, enemyTypes.Length);
        int   t = UnityEngine.Random.Range(0, EnemySpawners.Length);

        SpawnedEnemies.Add(tempEnemy = Instantiate(enemyTypes[k], EnemySpawners[t].position, Quaternion.identity).GetComponent <Enemy>());
        tempEnemy.gameObject.layer   = 11;
    }
    public void SpawnEnemy()
    {
        Enemy currentEnemy = SetEnemyType();

        currentEnemy = Instantiate(currentEnemy, spawnPoint.transform.position, Quaternion.identity);
        SetLevel(currentEnemy);
        currentEnemy.transform.SetParent(this.gameObject.transform);
        SpawnedEnemies.Add(currentEnemy);
        OnEnemySpawned?.Invoke(currentEnemy);
    }
示例#3
0
 private void Spawn(object sender, EventArgs args)
 {
     if (sender != null)
     {
         Enemy enemy = (Enemy)sender;
         //The line below would randomly cause crashes...can leave enemies in list anyways
         //    unspawnEnemies.Remove(enemy);
         SpawnedEnemies.Add(enemy);
         OnSpawnEnemy.Invoke(this, enemy);
     }
 }