private void EnableProjectilePlease(int index, Transform muzzlePosition)
    {
        Rigidbody rigidbody = projectiles[index].GetComponent <Rigidbody>();
        GameObjectWeaponDamager gameObjectWeaponDamager = projectiles[index].GetComponent <GameObjectWeaponDamager>();

        rigidbody.velocity    = Vector3.zero;
        rigidbody.isKinematic = false;
        projectiles[index].transform.position = muzzlePosition.position;
        projectiles[index].transform.rotation = transform.rotation;
        projectiles[index].SetActive(true);
        gameObjectWeaponDamager.EnableProjectile();
        rigidbody.AddForce(muzzlePosition.forward * gameObjectWeaponDamager.MovementSpeed, ForceMode.Impulse);
        //rigidbody.AddForce(weaponController.WeaponParts[0].muzzle.forward * gameObjectWeaponDamager.MovementSpeed, ForceMode.Impulse);
    }
    private void CreatePooledProjectiles(GameObject _projectile, int numberOfProjectiles)
    {
        Transform _projectileTransform;

        if (!projectileHolder)
        {
            projectileHolder = new GameObject(string.Concat(gameObject.name, " ", weapon.name, "-Projectiles")).transform;
        }

        for (int i = 0; i < numberOfProjectiles; i++)
        {
            GameObject proj = Instantiate(_projectile, projectileHolder);
            GameObjectWeaponDamager projectile = proj.GetComponent <GameObjectWeaponDamager>();

            _projectileTransform = proj.transform;
            projectiles[i]       = proj;

            projectile.Damage = weapon.MaxDamage;
            projectile.Weapon = this.weapon;
            //projectile.impactPrefabs = this.impactPrefabs;

            proj.SetActive(false);
        }
    }