示例#1
0
    public virtual void StopPart()
    {
        IsActive = false;
        if (Exit)
        {
            Exit.Open();
        }
        if (OnPartStop != null)
        {
            OnPartStop();
        }

        foreach (var item in WinConditions)
        {
            item.Stop();
            Game.Instance.RemoveCondition(item);
        }
        Events.Instance.Unregister(this);

        foreach (var enemy in SpawnedEnemies)
        {
            enemy.Kill();
        }
        SpawnedEnemies.Clear();
    }
示例#2
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);
    }
示例#4
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);
     }
 }
示例#5
0
        private void RemoveEnemy(object sender, EventArgs args)
        {
            Enemy enemy = (Enemy)sender;

            if (enemy.Done)
            {
                if (unspawnEnemies.Contains(enemy))
                {
                    unspawnEnemies.Remove(enemy);
                }
                if (SpawnedEnemies.Contains(enemy))
                {
                    SpawnedEnemies.Remove(enemy);
                }
            }
        }