private void SpawnItem(Vector3 position, float itemSpawnPercent)
    {
        // get weapon types

        //Dictionary<WeaponType, int> types = _playerInventory.GetWeaponTypes();
        //foreach (WeaponType type in types.Keys)
        //{
        //    Debug.Log(type + ": " + types[type]);
        //}


        // get weapon ammo percentage fills
        if (Random.value < itemSpawnPercent)
        {
            MiniAmmoBox miniAmmoBox = _miniAmmoBoxes.Pop();
            miniAmmoBox.SpawnAtPosition(position, _miniAmmoBoxDisapearTime);
        }
    }
    private void Awake()
    {
        _placesTaken     = new HashSet <int>();
        _enemiesAlive    = _numberOfEnemies;
        _playerInventory = _player.GetComponentInChildren <Inventory>();

        _miniAmmoBoxes = new Stack <MiniAmmoBox>();

        for (int i = 0; i < 4; i++)
        {
            GameObject ammoBoxObject = Instantiate(_miniAmmoBoxProto, transform.position, Quaternion.identity);
            ammoBoxObject.SetActive(false);

            MiniAmmoBox miniAmmoBox = ammoBoxObject.GetComponent <MiniAmmoBox>();
            miniAmmoBox._poolReturnDelegate = ReturnAmmoBox;
            miniAmmoBox._pickupAction       = _playerInventory.AmmoPickup;
            _miniAmmoBoxes.Push(miniAmmoBox);
        }
    }