I'm having a problem, here I have a gun script, but the problem starts when I reload the gun and the mag does not fill up again (C # script)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Arma : MonoBehaviour {

private Animator anim;
private AudioSource _AudioSource;

public float range = 100f;
public int BulletsPerMag = 30;
public int BulletsLeft = 200;

public int currentBullets;

public Transform shootPoint;
public GameObject hitParticles;
public GameObject bulletImpact;
public ParticleSystem muzzeFlash; //Muzzeflash
public AudioClip shootSound;

public float fireRate = 0.1f;

float fireTimer;

private bool isReloading;

// Use this for initialization
void Start () {
    anim = GetComponent<Animator>();
    _AudioSource = GetComponent< AudioSource > ();

    currentBullets = BulletsPerMag;
	
}

// Update is called once per frame
void Update () {

	if(Input.GetButton("Fire1"))
	{
        if (currentBullets > 0)
            Fire(); // Execute the fire function if we press/hold the left mouse button

		else if(BulletsLeft > 0)
            DoReload();
	
    }
    if (Input.GetKeyDown(KeyCode.R))
    {
        if (currentBullets < BulletsPerMag && BulletsLeft > 0)
            DoReload();
    }

	if (fireTimer < fireRate)
		fireTimer += Time.deltaTime; //Add into time counter

}

void FixedUpdate()
{
    AnimatorStateInfo info = anim.GetCurrentAnimatorStateInfo(0);

    isReloading = info.IsName("Reload");

    //if (Info.IsName("Fire")) anim.Setbool("Fire", false);
}

private void Fire()
{
	if (fireTimer < fireRate || currentBullets <= 0 || isReloading)
		return;

	RaycastHit hit;

	if (Physics.Raycast (shootPoint.position, shootPoint.transform.forward, out hit, range)) {

		Debug.Log (hit.transform.name + "found!");

        GameObject hitParticleEffect = Instantiate(hitParticles, hit.point, Quaternion.FromToRotation(Vector3.up, hit.normal));
        GameObject bulletHole = Instantiate(bulletImpact, hit.point, Quaternion.FromToRotation(Vector3.forward, hit.normal));

        Destroy(hitParticleEffect, 1f);
        Destroy(bulletHole, 2f);

    }

	anim.CrossFadeInFixedTime ("Fire", 0.01f); //Play the fire animation
	muzzeFlash.Play ();
    PlayShootSound();

    currentBullets--;
	fireTimer = 0.0f; //reset fire timer
}

public void Reload()
{
    if (BulletsLeft <= 0) return;
    //25
    int bulletsToLoad = BulletsPerMag - currentBullets;
    int bulletsToDeduct = (BulletsLeft >= bulletsToLoad) ? bulletsToLoad : BulletsLeft;

    BulletsLeft -= bulletsToDeduct;
    currentBullets += bulletsToDeduct;
}

private void DoReload()
{
    AnimatorStateInfo info = anim.GetCurrentAnimatorStateInfo(0);

    if (isReloading) return;

    anim.CrossFadeInFixedTime("Reload", 0.01f);
}

private void PlayShootSound()
{
	_AudioSource.PlayOneShot (shootSound);
    //_AudioSource.clip = shootSound;
    //_AudioSource.Play();
}

}

All help will be appreciated

public void Reload()
{
if (BulletsLeft <= 0)
{
Debug.Log(“No more Bullets”);

		}   else {
						int bulletsToLoad = BulletsPerMag - currentBullets;

					if(bulletsToLoad<BulletsLeft)
						{
							BulletsLeft -= bulletsToLoad;
							currentBullets += bulletsToLoad;

						}else
							{
								CurrentBullets = BulletsLeft;
								BulletsLeft = 0;

							}


				}
	}

Thank you very much for the real help.