Esempio n. 1
0
    public void SyncWorkingSpawnData()
    {
        WorkingWaveData.Clear();
        spawnParent.SortChildrenByName();

        for (int i = 0; i < spawnParent.childCount; i++)
        {
            Transform waveParent = spawnParent.GetChild(i);
            PLESpawn  spawn      = waveParent.GetComponent <PLESpawn>();
            if (spawn != null)
            {
                AddSpawnData(waveParent, 0);//keira
            }
            else  //any other baddy
            {
                int waveChildCount = waveParent.childCount;
                for (int j = 0; j < waveParent.childCount; j++)
                {
                    Transform spawnUI = waveParent.GetChild(j);
                    if (spawnUI)
                    {
                        AddSpawnData(spawnUI, i - 1);
                    }
                }
            }
        }
    }
Esempio n. 2
0
    private void AddSpawnData(Transform spawnUI, int waveIndex)
    {
        waveIndex = Mathf.Max(waveIndex, 0);
        PLESpawn  spawn      = spawnUI.GetComponent <PLESpawn>();
        int       spawnType  = (int)spawn.spawnType;
        int       spawnCount = spawn.totalSpawnAmount;
        SpawnData spawnData  = new SpawnData(spawnType, spawnCount, spawnUI.position)
        {
            pleSpawn = spawn
        };

        while (WorkingWaveData.Count <= waveIndex)
        {
            WorkingWaveData.Add(new WaveData());
        }
        WorkingWaveData[waveIndex].spawnData.Add(spawnData);
        WorkingWaveData[waveIndex].SetMinSpawns(spawnType, spawn.MinSpawns);
    }