private void GunShoot(bool isCharging)
    {
        var ammo = inventory.limitedAmmoSearch;

        if (countableID == 2)
        {
            countableID = -999;
        }
        if (inventory.canShootBeams)
        {
            if (!isCharging)
            {
                pool.ActiveNextPoolObject();
            }
            else
            {
                int id = beamToShoot.GetComponent <Beam>().ID;
                beamToShoot = beams.GetAmmoPrefab(id * -1);
                //back to normal beam
                beamToShoot = beams.GetAmmoPrefab(id);
            }
        }
        else
        {
            if (ammo.ContainsKey(countableID))
            {
                var ammoPos = ammo[countableID];
                var obj     = Instantiate(ammoPos.ammoPrefab, transform.position, transform.rotation, transform);
                obj.transform.SetParent(null);
                ammoPos.ActualAmmoCount(-1);
                if (ammoPos.actualAmmo <= 0)
                {
                    inventory.canShootBeams = true;
                }
            }
        }
    }
    public void SetBeamToShoot()
    {
        if (CheckItem(2))//spazer beam
        {
            if (!CheckItem(1))
            {
                Ammo.ammoSelected = 7;               //spazer
            }
            else
            {
                Ammo.ammoSelected = 5; //spazer ice
            }
        }
        else
        {
            if (!CheckItem(1))//ice beam
            {
                if (CheckItem(10))
                {
                    Ammo.ammoSelected = 6;               //plasma
                }
                else
                {
                    Ammo.ammoSelected = 3; //normal
                }
            }
            else
            {
                Ammo.ammoSelected = 4; //ice
            }
        }
        var gObj = beams.GetAmmoPrefab(Ammo.ammoSelected);

        pool.SetBeamToPool(gObj);
        playerInstantiates.beamToShoot = gObj;
    }