public void CopyFromOther(BasicWave other) { data.CopyFromOther(other.data); }
// Use this for initialization void Start() { //Instanciate config gameobject #if UNITY_EDITOR GameObject configGO = Resources.Load("Prefabs/Waves/ConfigurationWave1-6") as GameObject; config = Instantiate(configGO, new Vector3(), Quaternion.identity).GetComponent <ConfigurationGame>(); config.gameObject.name = "ConfigurationWaveForTesting"; #else GameObject scGO = GameObject.Find("SceneInfos"); ScenesInfos sc = scGO.GetComponent <ScenesInfos> (); GameObject configGO = Resources.Load("Prefabs/Waves/ConfigurationWave" + sc.actualChapter + "-" + sc.actualLevel) as GameObject; config = Instantiate(configGO, new Vector3(), Quaternion.identity).GetComponent <ConfigurationGame>(); //ConfigurationGame.instance; config.gameObject.name = "ConfigurationWave" + sc.actualChapter + "-" + sc.actualLevel; #endif // Generate random waves if (RandomWave) { GenerateRandomWave(); // Not implement yet } // Use config to instanciate wave else { int count = 0; GameObject waveTMP = null; List <BasicWaveClass> t = config.GenerateWaves(); foreach (BasicWaveClass waveComponent in t) { waveTMP = new GameObject("Wave" + count); waveTMP.AddComponent <BasicWave> (); waveTMP.GetComponent <BasicWave> ().data = waveComponent; count++; Waves.Add(waveTMP); } foreach (GameObject waveObj in Waves) { BasicWave wave = waveObj.GetComponent <BasicWave> (); List <ConfigurationEnemy> tmpEnemyList = new List <ConfigurationEnemy> (); foreach (ConfigurationEnemy enemy in wave.data.entities) { if (enemy.prefab.gameObject.GetComponent <BasicEnnemy> ()) { tmpEnemyList.Add(enemy); } } TransitionLeft.Add(wave.data.TextDisplay); TimeTransitionLeft.Add(wave.data.TimeBetweenWave); WaveLeft.Add(tmpEnemyList); } // INIT settings for first wave EnemiesForCurrentWave = WaveLeft [0]; wc.changeWave(TimeTransitionLeft [0], TransitionLeft [0]); TransitionLeft.RemoveAt(0); TimeLeft = TimeTransitionLeft [0]; TimeTransitionLeft.RemoveAt(0); WaveLeft.RemoveAt(0); } }