IEnumerator Reload(float wait)
    {
        inGameManager.isReloading = true;
        this.GetComponent <FaceoffPlayerHUD>().crossHairReloading();
        reloadingModel = gunParent.GetChild(inGameManager.currentWeaponIndex).GetChild(0);

        // ANIMATION
        var      animator = gunParent.GetChild(inGameManager.currentWeaponIndex).GetComponent <Animator>();
        GunState gunState = gunParent.GetChild(inGameManager.currentWeaponIndex).GetComponent <GunState>();

        if (animator != null)
        {
            animator.speed = 1.0f / wait;
            animator.Play("gun_reload", 0, 0);
            gunState.reloadSound();
        }

        yield return(new WaitForSeconds(wait));

        Gun gun = inGameManager.GetCurrentEquipment() as Gun;

        gunParent.GetChild(inGameManager.currentWeaponIndex).GetComponent <GunState>().ammoCount = gun.baseClipSize;
        pHud.AmmoChanged(gun.baseClipSize, gun.baseClipSize);

        inGameManager.isReloading = false;
        this.GetComponent <FaceoffPlayerHUD>().crossHairReloaded();
        gunState.reloadStop();
    }