private void FireProjectile(Vector3 position, Quaternion rotation)
    {
        ProjectileController pooledProjectile = _projectilePool.FirstOrDefault(projectile => projectile.IsActive == false);

        if (pooledProjectile == null)
        {
            GameObject projectileGameObject = Instantiate(_projectilePrefab.gameObject, position, rotation, _projectileContainer.transform);

            pooledProjectile = projectileGameObject.GetComponent <ProjectileController>();
            _projectilePool.Add(pooledProjectile);
        }

        pooledProjectile.Activate(position, rotation);
    }