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