// Add an extra projectile to the pool when needed.
 void AddExtraProjectileToPool()
 {
     lastProjectile                 = Instantiate <GameObject>(projectile, poolHolderTrans);
     lastProjectileScript           = lastProjectile.GetComponent <StandardizedProjectile>();
     lastProjectileScript.bowScript = this;
     lastProjectileScript.rigid     = lastProjectile.GetComponent <Rigidbody>();
     lastProjectileScript.PoolTheParticles(); // Pool and parent the particles
     lastProjectileScript.quiver = poolHolderTrans;
     lastProjectileRigidbody     = lastProjectileScript.rigid;
     lastProjectile.SetActive(false);
     projectilePool.Enqueue(lastProjectile);
     projectilePoolSize++;
 }
 void ProjectileObjectPool()
 {
     // Object pooling process of the projectiles on the first frame of the scene
     projectilePool = new Queue <GameObject>();
     for (int i = 0; i < projectilePoolSize; i++)
     {
         lastProjectile                 = Instantiate <GameObject>(projectile, poolHolderTrans);
         lastProjectileScript           = lastProjectile.GetComponent <StandardizedProjectile>();
         lastProjectileScript.bowScript = this;
         lastProjectileScript.rigid     = lastProjectile.GetComponent <Rigidbody>();
         lastProjectileScript.PoolTheParticles(); // Pool and parent the particles
         lastProjectileScript.quiver = poolHolderTrans;
         lastProjectile.SetActive(false);
         projectilePool.Enqueue(lastProjectile);
     }
 }