Пример #1
0
 public void CopyFromOther(BasicWave other)
 {
     data.CopyFromOther(other.data);
 }
Пример #2
0
    // 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);
        }
    }