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)