// Spawn the desired projectile private void SpawnProjectile() { // Instantiate projectile at player position and rotation if (heavyWeaponSelected) { ProjectileHeavy.InstantiateProjectileHeavy(firePoint.transform.position, transform.rotation, fireTarget); } else { ProjectileLight.InstantiateProjectileLight(firePoint.transform.position, transform.rotation, fireTarget); } }
/***** POOL FUNCTIONS *****/ public static Projectile InstantiateProjectileLight(Vector2 spawnPosition, Quaternion spawnRotation, Organism newTarget) { ProjectileLight projectileLightToSpawn = ProjectileLightPool.Instance.Get(); projectileLightToSpawn.transform.position = spawnPosition; projectileLightToSpawn.transform.rotation = spawnRotation; projectileLightToSpawn.gameObject.SetActive(true); projectileLightToSpawn.OnObjectToSpawn(); projectileLightToSpawn.SetTarget(newTarget); return(projectileLightToSpawn); }