/// <summary>
    /// Spawn enemies
    /// </summary>
    /// <param name="enemyObject"></param>
    /// <param name="point"></param>
    public void SpawnEnemy(GameObject enemyObject, LevelDataBase.EnemySpawnDetails spawnData)
    {
        EnemySpawnPointObjects spawnPoint = enemySpawnPoints.Find(pt => pt.Point == spawnData.SpawnPoint);

        if (spawnPoint != null)
        {
            GameObject obj = Instantiate(enemyObject, spawnPoint.PointObject.position, spawnPoint.PointObject.rotation);
            obj.GetComponent <MovementController>().SetNode(spawnData.DesgnatedPath);
        }
    }
Exemple #2
0
    /// <summary>
    /// To check spawn validity
    /// </summary>
    private void CheckSpawnValidity()
    {
        if (Global.CurrentGame.LevelData != null)
        {
            for (int i = 0; i < Global.CurrentGame.LevelData.LevelSpawnList.Count; i++)
            {
                LevelDataBase.EnemySpawnDetails data = Global.CurrentGame.LevelData.LevelSpawnList[i];
                if (data.InTime <= secondsCount && !data.IsSpawned)
                {
                    EnemySpawnStashElement enemy = enemyStash.Find(en => en.Type == data.Type);
                    Spawner.SpawnEnemy(enemy.EnemyPrefab, data);
                    data.IsSpawned = true;
                    spawnedEnemies++;
                }
            }

            if (spawnedEnemies == Global.CurrentGame.LevelData.LevelSpawnList.Count)
            {
                StopOperation();
            }
        }
    }