Esempio n. 1
0
    // Start is called before the first frame update
    void Start()
    {
        gManager = GameObject.Find("GameManager").GetComponent <D_GameManager>();

        TextAsset WaveData = Resources.Load <TextAsset>("Waves");

        string[] arrData = WaveData.text.Split('\n');

        for (int i = 0; i < arrData.Length; i++)
        {
            string[]       row   = arrData[i].Split('\t');
            WaveDataScript wData = new WaveDataScript();
            int.TryParse(row[0], out wData.wave);
            int.TryParse(row[1], out wData.normalcount);
            int.TryParse(row[2], out wData.rocketcount);
            int.TryParse(row[3], out wData.catbosscount);
            int.TryParse(row[4], out wData.healercount);
            int.TryParse(row[5], out wData.multiballcount);
            int.TryParse(row[6], out wData.circlecount);
            int.TryParse(row[7], out wData.finalcount);
            Waves.Add(wData);
        }
        //Debug.Log(Waves[16].wave);

        yTime        = YarnTimer;
        SpawningYarn = false;
    }
Esempio n. 2
0
    IEnumerator SpawnHealers(WaveDataScript data)
    {
        yield return(new WaitForSeconds(2f));

        for (int i = 0; i < data.healercount; i++)
        {
            Instantiate(healerEnemyPrefab, new Vector3(Random.Range(SpawnXmin, SpawnXmax), 8, 0), Quaternion.identity);
            yield return(new WaitForSeconds(EnemySpawnDelay + 1f));
        }
        yield return(null);
    }
Esempio n. 3
0
    IEnumerator SpawnEnemies()
    {
        WaveDataScript data = Waves[WaveNum];

        if (data.wave == 0)
        {
            Debug.Log("WIN");
            yield return(new WaitForSeconds(2f));

            gManager.Win();
            gManager.SetSpawn(false);
            yield return(null);
        }
        if (WaveNum >= 9 && !SpawningYarn)
        {
            SpawningYarn = true;
            StartCoroutine(SpawnYarn());
        }
        StartCoroutine(SpawnHealers(data));
        if (data.finalcount > 0)
        {
            Instantiate(FinalBossPrefab, new Vector3(0, 8, 0), Quaternion.identity);
        }
        for (int i = 0; i < data.normalcount; i++)
        {
            Instantiate(normalEnemyPrefab, new Vector3(Random.Range(SpawnXmin, SpawnXmax), 8, 0), Quaternion.identity);
            yield return(new WaitForSeconds(EnemySpawnDelay));
        }
        for (int i = 0; i < data.rocketcount; i++)
        {
            Instantiate(rocketEnemyPrefab, new Vector3(Random.Range(SpawnXmin, SpawnXmax), 8, 0), Quaternion.identity);
            yield return(new WaitForSeconds(EnemySpawnDelay));
        }
        for (int i = 0; i < data.circlecount; i++)
        {
            Instantiate(CircleEnemyPrefab, new Vector3(Random.Range(SpawnXmin, SpawnXmax), 8, 0), Quaternion.identity);
            yield return(new WaitForSeconds(EnemySpawnDelay + 3f));
        }
        for (int i = 0; i < data.catbosscount; i++)
        {
            Instantiate(CatBossPrefab, new Vector3(Random.Range(SpawnXmin, SpawnXmax), 8, 0), Quaternion.identity);
            yield return(new WaitForSeconds(EnemySpawnDelay + 4f));
        }
        for (int i = 0; i < data.multiballcount; i++)
        {
            Instantiate(MultiballBossPrefab, new Vector3(Random.Range(SpawnXmin, SpawnXmax), 8, 0), Quaternion.identity);
            yield return(new WaitForSeconds(EnemySpawnDelay + 4f));
        }
        gManager.SetSpawn(false);
        yield return(null);
    }