public static void InitializeDefaultEnemySpawn(MapType type) { //enemySpawner.Clear(); copySpawner.Clear(); if (GameVariables.Grids.ContainsKey(type)) { for (int i = 0; i < GameVariables.Grids[type].enemySpawner.Count; i++) { copySpawner.Add(GameVariables.Grids[type].enemySpawner[i]); var spawnerTest = copySpawner[i]; spawnerTest.currentEnnemySpawn++; spawnerTest.currentTime = Random.Range(copySpawner[i].TimeRangeBetweenSpawn.x, copySpawner[i].TimeRangeBetweenSpawn.y); copySpawner[i] = spawnerTest; } foreach (var spawner in GameVariables.Grids[type].enemyPreSpawner) { System.Array enemyType = System.Enum.GetValues(typeof(Type)); Type randomEnemyType = (Type)enemyType.GetValue(Random.Range(0, enemyType.Length)); switch (spawner.EnemyType) { case Type.Chicken: CreateEnemy(Type.Chicken, out Entity chicken, spawner.spawnerPos, -1); CreateWeapon(WeaponType.ChickenWeapon, chicken); break; case Type.Gorilla: CreateEnemy(Type.Gorilla, out Entity gorilla, spawner.spawnerPos, -1); CreateWeapon(WeaponType.GorillaWeapon, gorilla); break; case Type.Pig: CreateEnemy(Type.Pig, out Entity pig, spawner.spawnerPos, -1); CreateWeapon(WeaponType.PigWeapon, pig); break; case Type.Rat: CreateEnemy(Type.Rat, out Entity rat, spawner.spawnerPos, -1); // CreateWeapon(WeaponType.RatWeapon, rat); break; } EventsHolder.LevelEvents.NbEnemy++; } } }
private static void CreateEnemy(Type type, out Entity e, in int2 spawnPosition, int i)