Dictionary <GameEnum.EnemyType, int> GenerateDictionary(EnemyLevelDataScriptable levelDataScriptable) { Dictionary <GameEnum.EnemyType, int> enemyTypeAndPercentageDictionary = new Dictionary <GameEnum.EnemyType, int>(); int sumPercentage = 0; for (int i = 0; i < levelDataScriptable.enemyTypes.Count && i < levelDataScriptable.enemyPercentageList.Count; i++) { sumPercentage = sumPercentage + levelDataScriptable.enemyPercentageList[i]; enemyTypeAndPercentageDictionary.Add(levelDataScriptable.enemyTypes[i], sumPercentage); } return(enemyTypeAndPercentageDictionary); }
public EnemyLevelData GetEnemyLevelData(int levelNumber) { EnemyLevelDataScriptable levelDataScriptable = GetEnemyLevelScriptable(levelNumber); EnemyLevelData data = new EnemyLevelData(); if (levelDataScriptable != null) { data.levelNumber = levelDataScriptable.levelNumber; data.numberOfWave = levelDataScriptable.numberOfWave; data.initialEnemyNumber = levelDataScriptable.initialEnemyNumber; data.initialEnemySpawnDelay = levelDataScriptable.initialEnemySpawnDelay; data.enemySpawnDelayReduceFactorPerWave = levelDataScriptable.enemySpawnDelayReduceFactorPerWave; data.initialNumberOfEnemyInAWave = levelDataScriptable.initialNumberOfEnemyInAWave; data.multiplierOfEnemyNumberPerWave = levelDataScriptable.multiplierOfEnemyNumberPerWave; data.enemyTypeAndPercentageDictionary = GenerateDictionary(levelDataScriptable); return(data); } return(null); }