コード例 #1
0
    private void SpawnWave(LevelWave wave)
    {
        foreach (var spawn in wave.Spawns)
        {
            var wrapperObject = new GameObject("Wrapper");
            wrapperObject.transform.position = spawn.StartPosition;

            var enemy = GameObject.Instantiate(spawn.Enemy, spawn.StartPosition, spawn.Enemy.transform.rotation, wrapperObject.transform).GetComponent <Enemy>();

            if (spawn.Animation != null)
            {
                enemy.SetAnimationClip(spawn.Animation);
            }
        }
    }
コード例 #2
0
    public static LevelWave CloneLevelWave(LevelWave levelWave)
    {
        var clone = new LevelWave {
            pauseGlobalWavesWhenCompleted = levelWave.pauseGlobalWavesWhenCompleted,
            waveType                    = levelWave.waveType,
            skipWaveType                = levelWave.skipWaveType,
            skipWavePassCriteria        = levelWave.skipWavePassCriteria,
            waveName                    = levelWave.waveName,
            musicSettings               = levelWave.musicSettings,
            WaveDuration                = levelWave.WaveDuration,
            endEarlyIfAllDestroyed      = levelWave.endEarlyIfAllDestroyed,
            waveBeatBonusesEnabled      = levelWave.waveBeatBonusesEnabled,
            useCompletionEvents         = levelWave.useCompletionEvents,
            completionCustomEvents      = levelWave.completionCustomEvents,
            waveDefeatVariableModifiers = levelWave.waveDefeatVariableModifiers,
            isExpanded                  = levelWave.isExpanded,
            useSpawnBonusPrefab         = levelWave.useSpawnBonusPrefab,
            bonusPrefabCategoryName     = levelWave.bonusPrefabCategoryName,
            bonusPrefabPoolIndex        = levelWave.bonusPrefabPoolIndex,
            bonusPrefabPoolName         = levelWave.bonusPrefabPoolName,
            bonusPrefabSource           = levelWave.bonusPrefabSource,
            bonusPrefabSpecific         = levelWave.bonusPrefabSpecific,
            spawnerUseMode              = levelWave.spawnerUseMode,
            spawnersToUseMax            = levelWave.spawnersToUseMax,
            spawnersToUseMin            = levelWave.spawnersToUseMin,
            waveClass                   = levelWave.waveClass,
            waveDescription             = levelWave.waveDescription,
            waveDurationFlex            = levelWave.waveDurationFlex,
            useTriggeredSpawners        = levelWave.useTriggeredSpawners,
            trigSpawnerWavesToAwait     = levelWave.trigSpawnerWavesToAwait
        };

        KillerVariablesHelper.CloneKillerInt(clone.bonusPrefabSpawnPercent, levelWave.bonusPrefabSpawnPercent);
        KillerVariablesHelper.CloneKillerInt(clone.bonusPrefabQty, levelWave.bonusPrefabQty);
        KillerVariablesHelper.CloneKillerInt(clone.waveDurationFlex, levelWave.waveDurationFlex);

        return(clone);
    }
コード例 #3
0
 public virtual void WaveSkipped(LevelWave levelWaveInfo)
 {
     // your code here.
 }
コード例 #4
0
 public virtual void WaveEndedEarly(LevelWave levelWaveInfo)
 {
     // your code here.
 }
コード例 #5
0
 public virtual void WaveRestarted(LevelWave levelWaveInf)
 {
     // your code here.
 }