static bool DoIncludeWaveSpec(WaveSpecifics waveSpec, int includeLevel, int includeWave) { // no level filter: everything passes if (includeLevel == 0) { return(true); } // level filter set. only matching levels pass if (waveSpec.SpawnLevelNumber != (includeLevel - 1)) { return(false); } if (includeWave == 0) { return(true); } return(waveSpec.SpawnWaveNumber == (includeWave - 1)); }
public virtual void WaveRepeat(WaveSpecifics spec) { // Please do not manipulate values in the "spec". It is for your read-only information }
public static WaveSpecifics CloneWave(WaveSpecifics sourceWave) { var clone = new WaveSpecifics { isExpanded = sourceWave.isExpanded, enableWave = sourceWave.enableWave, visualizeWave = sourceWave.visualizeWave, SpawnLevelNumber = sourceWave.SpawnLevelNumber, SpawnWaveNumber = sourceWave.SpawnWaveNumber, prefabToSpawn = sourceWave.prefabToSpawn, spawnSource = sourceWave.spawnSource, prefabPoolIndex = sourceWave.prefabPoolIndex, prefabPoolName = sourceWave.prefabPoolName, repeatWaveUntilNew = sourceWave.repeatWaveUntilNew, waveCompletePercentage = sourceWave.waveCompletePercentage, curWaveRepeatMode = sourceWave.curWaveRepeatMode, curTimedRepeatWaveMode = sourceWave.curTimedRepeatWaveMode, resetOnItemLimitReached = sourceWave.resetOnItemLimitReached, resetOnTimeLimitReached = sourceWave.resetOnTimeLimitReached, repeatPassCriteria = sourceWave.repeatPassCriteria, waveRepeatBonusesEnabled = sourceWave.waveRepeatBonusesEnabled, waveRepeatVariableModifiers = sourceWave.waveRepeatVariableModifiers, waveRepeatFireEvents = sourceWave.waveRepeatFireEvents, waveRepeatCustomEvents = sourceWave.waveRepeatCustomEvents, positionExpanded = sourceWave.positionExpanded, positionXmode = sourceWave.positionXmode, positionYmode = sourceWave.positionYmode, positionZmode = sourceWave.positionZmode, curRotationMode = sourceWave.curRotationMode, customRotation = sourceWave.customRotation, enableLimits = sourceWave.enableLimits, enableRandomizations = sourceWave.enableRandomizations, randomXRotation = sourceWave.randomXRotation, randomYRotation = sourceWave.randomYRotation, randomZRotation = sourceWave.randomZRotation, enableIncrements = sourceWave.enableIncrements, enableKeepCenter = sourceWave.enableKeepCenter, waveOffsetList = sourceWave.waveOffsetList, enablePostSpawnNudge = sourceWave.enablePostSpawnNudge, }; KillerVariablesHelper.CloneKillerInt(clone.MinToSpwn, sourceWave.MinToSpwn); KillerVariablesHelper.CloneKillerInt(clone.MaxToSpwn, sourceWave.MaxToSpwn); KillerVariablesHelper.CloneKillerFloat(clone.WaveDelaySec, sourceWave.WaveDelaySec); KillerVariablesHelper.CloneKillerFloat(clone.TimeToSpawnEntireWave, sourceWave.TimeToSpawnEntireWave); KillerVariablesHelper.CloneKillerFloat(clone.repeatPauseMinimum, sourceWave.repeatPauseMinimum); KillerVariablesHelper.CloneKillerFloat(clone.repeatPauseMaximum, sourceWave.repeatPauseMaximum); KillerVariablesHelper.CloneKillerInt(clone.repeatItemInc, sourceWave.repeatItemInc); KillerVariablesHelper.CloneKillerInt(clone.repeatItemMinLmt, sourceWave.repeatItemMinLmt); KillerVariablesHelper.CloneKillerInt(clone.repeatItemLmt, sourceWave.repeatItemLmt); KillerVariablesHelper.CloneKillerFloat(clone.repeatTimeInc, sourceWave.repeatTimeInc); KillerVariablesHelper.CloneKillerFloat(clone.repeatTimeMinLmt, sourceWave.repeatTimeMinLmt); KillerVariablesHelper.CloneKillerFloat(clone.repeatTimeLmt, sourceWave.repeatTimeLmt); KillerVariablesHelper.CloneKillerInt(clone.repetitionsToDo, sourceWave.repetitionsToDo); KillerVariablesHelper.CloneKillerFloat(clone.customPosX, sourceWave.customPosX); KillerVariablesHelper.CloneKillerFloat(clone.customPosY, sourceWave.customPosY); KillerVariablesHelper.CloneKillerFloat(clone.customPosZ, sourceWave.customPosZ); KillerVariablesHelper.CloneKillerFloat(clone.doNotSpawnIfMbrCloserThan, sourceWave.doNotSpawnIfMbrCloserThan); KillerVariablesHelper.CloneKillerFloat(clone.doNotSpawnRandomDist, sourceWave.doNotSpawnRandomDist); KillerVariablesHelper.CloneKillerFloat(clone.randomDistX, sourceWave.randomDistX); KillerVariablesHelper.CloneKillerFloat(clone.randomDistY, sourceWave.randomDistY); KillerVariablesHelper.CloneKillerFloat(clone.randomDistZ, sourceWave.randomDistZ); KillerVariablesHelper.CloneKillerFloat(clone.randomXRotMin, sourceWave.randomXRotMin); KillerVariablesHelper.CloneKillerFloat(clone.randomXRotMax, sourceWave.randomXRotMax); KillerVariablesHelper.CloneKillerFloat(clone.randomYRotMin, sourceWave.randomYRotMin); KillerVariablesHelper.CloneKillerFloat(clone.randomYRotMax, sourceWave.randomYRotMax); KillerVariablesHelper.CloneKillerFloat(clone.randomZRotMin, sourceWave.randomZRotMin); KillerVariablesHelper.CloneKillerFloat(clone.randomZRotMax, sourceWave.randomZRotMax); KillerVariablesHelper.CloneKillerFloat(clone.incrementPositionX, sourceWave.incrementPositionX); KillerVariablesHelper.CloneKillerFloat(clone.incrementPositionY, sourceWave.incrementPositionY); KillerVariablesHelper.CloneKillerFloat(clone.incrementPositionZ, sourceWave.incrementPositionZ); KillerVariablesHelper.CloneKillerFloat(clone.incrementRotX, sourceWave.incrementRotX); KillerVariablesHelper.CloneKillerFloat(clone.incrementRotY, sourceWave.incrementRotY); KillerVariablesHelper.CloneKillerFloat(clone.incrementRotZ, sourceWave.incrementRotZ); KillerVariablesHelper.CloneKillerFloat(clone.postSpawnNudgeFwd, sourceWave.postSpawnNudgeFwd); KillerVariablesHelper.CloneKillerFloat(clone.postSpawnNudgeRgt, sourceWave.postSpawnNudgeRgt); KillerVariablesHelper.CloneKillerFloat(clone.postSpawnNudgeDwn, sourceWave.postSpawnNudgeDwn); return(clone); }
public virtual void EliminationWaveCompleted(WaveSpecifics spec) // called at the end of each wave, whether or not it is repeating. This is called before the Repeat delay // Please do not manipulate values in the "spec". It is for your read-only information { }