Exemplo n.º 1
0
 //Initializes the enemy Objects using the setter functions of the objects - Very simple function
 void InitializeEnemySpawners(EnemyWaveSpawn enemySpawnInfo)
 {
     enemySpawnInfo.SetSpecificEnemyCount();
     //enemySpawnInfo.SetSpawnTimes();
     //enemySpawnInfo.SetSpawnPosition();
     enemySpawnInfo.MakeFormations();
 }
Exemplo n.º 2
0
    //creates new enemy spawner objects from EnemyWaveSpawner class for each enemy type using the instance parameters
    void NextWaveEnemies()
    {
        basicSpawner    = new EnemyWaveSpawn("Basic", basicStartTime, basicTimeInterval, currentWave.numberOfEnemies);
        sprinterSpawner = new EnemyWaveSpawn("Sprinter", sprinterStartTime, sprinterTimeInterval, currentWave.numberOfEnemies);
        jumperSpawner   = new EnemyWaveSpawn("Jumper", jumperStartTime, jumperTimeInterval, currentWave.numberOfEnemies);
        dodgerSpawner   = new EnemyWaveSpawn("Dodger", dodgerStartTime, dodgerTimeInterval, currentWave.numberOfEnemies);
        tankSpawner     = new EnemyWaveSpawn("Tank", tankStartTime, tankTimeInterval, currentWave.numberOfEnemies);

        //GC.Collect();
    }
Exemplo n.º 3
0
    //spawns the enemies of type enemySpawnInfo in a timely manner using the parameter's spawning properties
    void SpawnEnemy(EnemyWaveSpawn enemySpawnInfo)
    {
        BasicEnemy    basicEnemyInstance;
        SprinterEnemy sprinterEnemyInstance;
        JumperEnemy   jumperEnemyInstance;
        DodgerEnemy   dodgerEnemyInstance;
        TankEnemy     tankEnemyInstance;


        for (int i = 0; i < enemySpawnInfo.specificEnemyCount; i++)
        {
            if (Time.time - spawnTime >= enemySpawnInfo.spawnTimes[i] && enemySpawnInfo.spawned[i] == false)
            {
                //Vector3 spawnPoint = new Vector3(enemySpawnInfo.spawnPoints[i].spawnPointX, enemySpawnInfo.spawnPoints[i].spawnPointY, enemySpawnInfo.spawnPoints[i].spawnPointZ);
                Vector3 spawnPoint = enemySpawnInfo.spawnPositions[i];

                if (string.Compare(enemySpawnInfo.enemyType, "Basic") == 0)
                {
                    Debug.Log("About to spawn basic enemy");
                    basicEnemyInstance = Instantiate(basicEnemyPrefab, spawnPoint, Quaternion.identity);
                    if (PlayerPrefs.GetInt("BasicIntroduced", 0) == 0 && Wave.waveNumber == 2)
                    {
                        StartCoroutine(IntroduceEnemies(basicEnemyInstance.gameObject, enemySpawnInfo.enemyType, 10f, 5f, 5f));
                        PlayerPrefs.SetInt("BasicIntroduced", 1);
                    }
                }
                else
                {
                    Debug.Log("About to spawn other enemy");
                }
                if (string.Compare(enemySpawnInfo.enemyType, "Sprinter") == 0)
                {
                    sprinterEnemyInstance = Instantiate(sprinterEnemyPrefab, spawnPoint, Quaternion.identity);
                    if (PlayerPrefs.GetInt("SprinterIntroduced", 0) == 0)
                    {
                        StartCoroutine(IntroduceEnemies(sprinterEnemyInstance.gameObject, enemySpawnInfo.enemyType, 5f, 15f, 10f));
                        PlayerPrefs.SetInt("SprinterIntroduced", 1);
                    }
                }
                if (string.Compare(enemySpawnInfo.enemyType, "Jumper") == 0)
                {
                    jumperEnemyInstance = Instantiate(jumperEnemyPrefab, spawnPoint, Quaternion.identity);
                    if (PlayerPrefs.GetInt("JumperIntroduced", 0) == 0)
                    {
                        StartCoroutine(IntroduceEnemies(jumperEnemyInstance.gameObject, enemySpawnInfo.enemyType, 10f, 7f, 10f));
                        PlayerPrefs.SetInt("JumperIntroduced", 1);
                    }
                }
                if (string.Compare(enemySpawnInfo.enemyType, "Dodger") == 0)
                {
                    dodgerEnemyInstance = Instantiate(dodgerEnemyPrefab, spawnPoint, Quaternion.identity);
                    if (PlayerPrefs.GetInt("DodgerIntroduced", 0) == 0)
                    {
                        StartCoroutine(IntroduceEnemies(dodgerEnemyInstance.gameObject, enemySpawnInfo.enemyType, 20f, 5f, 15f));
                        PlayerPrefs.SetInt("DodgerIntroduced", 1);
                    }
                }
                if (string.Compare(enemySpawnInfo.enemyType, "Tank") == 0)
                {
                    tankEnemyInstance = Instantiate(tankEnemyPrefab, spawnPoint, Quaternion.identity);
                    if (PlayerPrefs.GetInt("TankIntroduced", 0) == 0)
                    {
                        StartCoroutine(IntroduceEnemies(tankEnemyInstance.gameObject, enemySpawnInfo.enemyType, 50f, 3f, 20f));
                        PlayerPrefs.SetInt("TankIntroduced", 1);
                    }
                }
                Debug.Log("New enemy spawned");
                enemySpawnInfo.spawned[i] = true;
            }
        }
    }