How do i make it shoot 1 at a time

This scripts being used to spawn 5 objects how can i addaped this to on left click shoot one of the objects towards the mouse and stop at that position and shoot the next on the next click until all 5 have been shot then use the first one again.

public class WeaponSpawn_Script : MonoBehaviour
{
    public GameObject WeaponPrefab;
    GameObject WeaponClone;

    bool isSpawned = false;

    void Update()
    {

        if (Input.GetKeyDown(KeyCode.Space) && isSpawned == false)
        {
            isSpawned = true;
            WeaponClone = Instantiate(WeaponPrefab, transform.position, Quaternion.identity);
        }

        else if (Input.GetKeyDown(KeyCode.Space) && isSpawned == true)
        {
            isSpawned = false;
            Destroy(WeaponClone);
        }

    }
}

Update Does anyone know how i can make the weaponclones stop at the position of the mouse click and rotate to face the direction that its fired in?

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


public class WeaponSpawn_Script : MonoBehaviour
{
    public GameObject WeaponPrefab;
    public GameObject[] spawnerObjects;
    GameObject[] WeaponClones;
    int currentWeaponIndex = 0;
    int numberOfPrefabs = 5;
    bool objectsSpawned = false;
    public float speed = 20f;

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            if (!objectsSpawned)
            {
                WeaponClones = new GameObject[numberOfPrefabs];
                for (int i = 0; i < numberOfPrefabs; i++)
                {
                    WeaponClones[i] = Instantiate(WeaponPrefab, spawnerObjects[i].transform.position, Quaternion.identity);
                }
                objectsSpawned = true;
            }
            else
            {
                for (int i = 0; i < numberOfPrefabs; i++)
                {
                    Destroy(WeaponClones[i]);
                }
                objectsSpawned = false;
                currentWeaponIndex = 0;
            }
        }

        if (Input.GetMouseButtonDown(0) && objectsSpawned)
        {
            if (currentWeaponIndex == numberOfPrefabs)
            {
                currentWeaponIndex = 0;
            }
            Vector2 mousePos = Input.mousePosition;
            mousePos = Camera.main.ScreenToWorldPoint(mousePos);
            WeaponClones[currentWeaponIndex].GetComponent<Rigidbody2D>().velocity = (mousePos - (Vector2)WeaponClones[currentWeaponIndex].transform.position).normalized * speed;
            currentWeaponIndex++;
        }
    }
}

You probably want to test how close the WeaponClone is to the mouse position, to know when to stop.
Mathf.Distance() can do that.

And Transform.LookAt() can make it face the direction you want.