示例#1
0
        protected override void Reload()
        {
            GunAnimator.SetLayerWeight(2, 1);
            GunAnimator.SetTrigger(CurrentAmmo > 0 ? "ReloadLeft" : "ReloadOutOf");

            FirearmsReloadAudioSource.clip =
                CurrentAmmo > 0
                    ? FirearmsAudioData.ReloadLeft
                    : FirearmsAudioData.ReloadOutOf;

            FirearmsReloadAudioSource.Play();

            if (reloadAmmoCheckerCoroutine == null)
            {
                reloadAmmoCheckerCoroutine = CheckReloadAmmoAnimationEnd();
                StartCoroutine(reloadAmmoCheckerCoroutine);
            }
            else
            {
                StopCoroutine(reloadAmmoCheckerCoroutine);
                reloadAmmoCheckerCoroutine = null;
                reloadAmmoCheckerCoroutine = CheckReloadAmmoAnimationEnd();
                StartCoroutine(reloadAmmoCheckerCoroutine);
            }
        }
 protected override void Reload()
 {
     GunAnimator.SetLayerWeight(1, 1);
     GunAnimator.SetTrigger(CurrentAmmo > 0 ? "ReloadLeft" : "ReloadOutOf");
     //通过赋值协程给变量来实现反复执行
     if (checkReloadAmmoAnimationEnd_Coroutine == null)
     {
         checkReloadAmmoAnimationEnd_Coroutine = CheckReloadAmmoAnimationEnd();
         StartCoroutine(checkReloadAmmoAnimationEnd_Coroutine);
     }
     else
     {
         StopCoroutine(checkReloadAmmoAnimationEnd_Coroutine);
         checkReloadAmmoAnimationEnd_Coroutine = null;
         checkReloadAmmoAnimationEnd_Coroutine = CheckReloadAmmoAnimationEnd();
         StartCoroutine(checkReloadAmmoAnimationEnd_Coroutine);
     }
 }
示例#3
0
    protected override void Reload()
    {
        //GunAnimator.SetLayerWeight(1, 1);
        GunAnimator.SetTrigger(CurrentAmmo > 0 ? "ReloadLeft" : "ReloadOutOf");


        if (reloadAmmoCheckerCoroutine == null)
        {
            reloadAmmoCheckerCoroutine = CheckReloadAmmoAnimationEnd();
            StartCoroutine(reloadAmmoCheckerCoroutine);
        }
        else
        {
            StopCoroutine(reloadAmmoCheckerCoroutine);
            reloadAmmoCheckerCoroutine = null;
            reloadAmmoCheckerCoroutine = CheckReloadAmmoAnimationEnd();
            StartCoroutine(reloadAmmoCheckerCoroutine);
        }
    }
示例#4
0
        protected override void Reload()
        {
            //CurrentAmmo = AmmoInMag;
            //CurrentMaxAmmoCarried -= AmmoInMag;
            GunAnimator.SetLayerWeight(2, 1);//改变动画layer权重
            GunAnimator.SetTrigger(CurrentAmmo > 0 ? "ReloadLeft" : "ReloadOutOf");
            //StartCoroutine(CheckReloadAnimationEnd());

            FirearmsReloadAudioSource.clip = CurrentAmmo > 0?firearmsAudioData.ReloadLeft:firearmsAudioData.ReloadOutOf;
            FirearmsReloadAudioSource.Play();

            if (reloadAmmoCheckerCoroutine == null)
            {
                reloadAmmoCheckerCoroutine = CheckReloadAnimationEnd();
                StartCoroutine(reloadAmmoCheckerCoroutine);
            }
            else
            {
                StopCoroutine(reloadAmmoCheckerCoroutine);
                reloadAmmoCheckerCoroutine = null;
                reloadAmmoCheckerCoroutine = CheckReloadAnimationEnd();
                StartCoroutine(reloadAmmoCheckerCoroutine);
            }
        }