Example #1
0
    private static void ChangeSpawnerWaveStatus(WaveSyncroPrefabSpawner spawner, int levelNumber, int waveNumber, bool isActivate)
    {
        var statusText = isActivate ? "activate" : "deactivate";

        if (spawner == null)
        {
            LevelSettings.LogIfNew(string.Format("Spawner was NULL. Cannot {0} wave# {1} in level# {2}",
                                                 statusText,
                                                 waveNumber,
                                                 levelNumber));
            return;
        }

        foreach (var wave in spawner.waveSpecs)
        {
            if (wave.SpawnLevelNumber + 1 != levelNumber || wave.SpawnWaveNumber + 1 != waveNumber)
            {
                continue;
            }
            if (LevelSettings.IsLoggingOn)
            {
                Debug.Log(string.Format("Logging '{0}' in spawner '{1}' for wave# {2}, level# {3}.",
                                        statusText,
                                        spawner.name,
                                        waveNumber,
                                        levelNumber));
            }
            wave.enableWave = isActivate;
            return;
        }

        LevelSettings.LogIfNew(string.Format("Could not locate a wave matching wave# {0}, level# {1}, in spawner '{2}'.",
                                             waveNumber, levelNumber, spawner.name));
    }
        private void Spawn()
        {
            WaveSyncroPrefabSpawner spawner = ((GameObject)gameObject.Value).GetComponent <WaveSyncroPrefabSpawner>();

            if (spawner != null)
            {
                spawner.SpawnOneItem();
            }
        }
        static bool DoIncludeSpawner(WaveSyncroPrefabSpawner spawner, int includeLevel, int includeWave)
        {
            // if we filter, then also exclude inactive spawners
            if (includeLevel != 0 && spawner.activeMode == LevelSettings.ActiveItemMode.Never)
            {
                return(false);
            }

            return(spawner.waveSpecs.Any(spec => DoIncludeWaveSpec(spec, includeLevel, includeWave)));
        }
Example #4
0
 /// <summary>
 /// Use this method to deactivate a wave by Level and Wave # in a Syncro Spawner.
 /// </summary>
 /// <param name="spawner">The Spawner script of the Syncro Spawner.</param>
 /// <param name="levelNumber">The level number.</param>
 /// <param name="waveNumber">The wave number.</param>
 public static void DeactivateWave(WaveSyncroPrefabSpawner spawner, int levelNumber, int waveNumber)
 {
     ChangeSpawnerWaveStatus(spawner, levelNumber, waveNumber, false);
 }