How can the ammo go to 31 at the start of a game?,How can I make The current ammo return to 31 at the start of a game?

How can I make it that the ammo goes toe 31 at the start of the game?

using UnityEngine;
public class Gun : MonoBehaviour {

    [Header("References")]
    [SerializeField] private GunData gunData;
    [SerializeField] private Transform cam;
    [SerializeField] private Transform R_Bullet;
    public GameObject Bullet_Emitter;
    public GameObject Bullet;
    public float Bullet_Forward_Force;
 
    
    float timeSinceLastShot;

    private void Start() {
        PlayerShoot.shootInput += Shoot;
        PlayerShoot.reloadInput += StartReload;
    }

    private void OnDisable() => gunData.reloading = false;

    public void StartReload() {
        if (!gunData.reloading && this.gameObject.activeSelf)
            StartCoroutine(Reload());
    }

    private IEnumerator Reload() {
        gunData.reloading = true;

        yield return new WaitForSeconds(gunData.reloadTime);

        gunData.currentAmmo = gunData.magSize;

        gunData.reloading = false;
    }

    private bool CanShoot() => !gunData.reloading && timeSinceLastShot > 1f / (gunData.fireRate / 60f);

    private void Shoot() {
        if (gunData.currentAmmo > 0) {
            if (CanShoot()) {
                if (Physics.Raycast(cam.position, cam.forward, out RaycastHit hitInfo, gunData.maxDistance)){
                    IDamageable damageable = hitInfo.transform.GetComponent<IDamageable>();
                    damageable?.TakeDamage(gunData.damage);

                    GameObject Temporary_Bullet_Handler;
                    Temporary_Bullet_Handler = Instantiate(Bullet,Bullet_Emitter.transform.position,Bullet_Emitter.transform.rotation) as GameObject;
                    Temporary_Bullet_Handler.transform.Rotate(Vector3.left * 180);
                    Rigidbody Temporary_RigidBody;
                    Temporary_RigidBody = Temporary_Bullet_Handler.GetComponent<Rigidbody>();
                    Temporary_RigidBody.AddForce(transform.forward * Bullet_Forward_Force);
                    Destroy(Temporary_Bullet_Handler, 10.0f);

                }

                gunData.currentAmmo--;
                timeSinceLastShot = 0;
                OnGunShot();
            }
        }
    }

    private void Update() {
        timeSinceLastShot += Time.deltaTime;

        Debug.DrawRay(cam.position, cam.forward * gunData.maxDistance);
    }

    private void OnGunShot() {  }
}

Can’t you just assign it in Start(), like :

 using UnityEngine;
 public class Gun : MonoBehaviour {
 
     [Header("References")]
     [SerializeField] private GunData gunData;
     [SerializeField] private Transform cam;
     [SerializeField] private Transform R_Bullet;
     public GameObject Bullet_Emitter;
     public GameObject Bullet;
     public float Bullet_Forward_Force;
     
     float timeSinceLastShot;
 
     private void Start() {
         PlayerShoot.shootInput += Shoot;
         PlayerShoot.reloadInput += StartReload;
         gunData.currentAmmo = 31; //This is the line you need to add
     }
 
     private void OnDisable() => gunData.reloading = false;
 
     public void StartReload() {
         if (!gunData.reloading && this.gameObject.activeSelf)
             StartCoroutine(Reload());
     }
 
     private IEnumerator Reload() {
         gunData.reloading = true;
 
         yield return new WaitForSeconds(gunData.reloadTime);
 
         gunData.currentAmmo = gunData.magSize;
 
         gunData.reloading = false;
     }
 
     private bool CanShoot() => !gunData.reloading && timeSinceLastShot > 1f / (gunData.fireRate / 60f);
 
     private void Shoot() {
         if (gunData.currentAmmo > 0) {
             if (CanShoot()) {
                 if (Physics.Raycast(cam.position, cam.forward, out RaycastHit hitInfo, gunData.maxDistance)){
                     IDamageable damageable = hitInfo.transform.GetComponent<IDamageable>();
                     damageable?.TakeDamage(gunData.damage);
 
                     GameObject Temporary_Bullet_Handler;
                     Temporary_Bullet_Handler = Instantiate(Bullet,Bullet_Emitter.transform.position,Bullet_Emitter.transform.rotation) as GameObject;
                     Temporary_Bullet_Handler.transform.Rotate(Vector3.left * 180);
                     Rigidbody Temporary_RigidBody;
                     Temporary_RigidBody = Temporary_Bullet_Handler.GetComponent<Rigidbody>();
                     Temporary_RigidBody.AddForce(transform.forward * Bullet_Forward_Force);
                     Destroy(Temporary_Bullet_Handler, 10.0f);
 
                 }
 
                 gunData.currentAmmo--;
                 timeSinceLastShot = 0;
                 OnGunShot();
             }
         }
     }
 
     private void Update() {
         timeSinceLastShot += Time.deltaTime;
 
         Debug.DrawRay(cam.position, cam.forward * gunData.maxDistance);
     }
 
     private void OnGunShot() {  }
 }