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); } } } } }
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); }