void Start()
 {
     pool = new List <ShotRenderer>();
     for (int i = 0; i < initalPoolCapacity; i++)
     {
         ShotRenderer sr = Instantiate(shotRendererPrefab);
         sr.transform.parent = transform;
         sr.isAvailable      = true;
         pool.Add(sr);
     }
 }
    public ShotRenderer GetShotRenderer()
    {
        foreach (ShotRenderer renderer in pool)
        {
            if (renderer.isAvailable)
            {
                renderer.isAvailable = false;
                return(renderer);
            }
        }

        Debug.Log("No renderer availbale, creating a new one");
        ShotRenderer newShotRenderer = Instantiate(shotRendererPrefab);

        pool.Add(newShotRenderer);
        newShotRenderer.isAvailable = false;
        return(newShotRenderer);
    }