Exemple #1
0
        public void WeaponUpdate(Slider slider = null, ReboundProgress reboundProgress = null)
        {
            if (hasRebuondDuringFire == true)
            {
                if (fireCount < fireDelay)
                {
                    lastFireTime += Time.deltaTime * 1.1f;
                }

                lastFireTime -= Time.deltaTime;
                if (lastFireTime <= 0)
                {
                    reboundDuringFire = 0f;
                    lastFireTime      = 0f;
                    if (reboundProgress != null)
                    {
                        reboundProgress.gameObject.SetActive(false);
                    }
                }

                if (reboundDuringFire > 0f)
                {
                    reboundDuringFire -= reboundRecoverValue * Time.deltaTime;
                    if (reboundProgress != null)
                    {
                        reboundProgress.gameObject.SetActive(true);
                        reboundProgress.SetProgress(reboundDuringFire, maxRebound);
                    }
                }
                if (reboundDuringFire < 0f)
                {
                    reboundDuringFire = 0f;
                    if (reboundProgress != null)
                    {
                        reboundProgress.gameObject.SetActive(false);
                    }
                }
            }
            else if (hasRebuondDuringFire == false)
            {
                if (reboundProgress != null)
                {
                    reboundProgress.gameObject.SetActive(false);
                }
            }

            if (isFireDelayFinish == true)
            {
                if (slider != null)
                {
                    slider.value = 0f;
                }
                return;
            }


            fireCount += Time.deltaTime;
            if (fireCount >= fireDelay)
            {
                isFireDelayFinish = true;

                if (slider != null)
                {
                    slider.gameObject.SetActive(false);
                }
                return;
            }


            if (slider != null)
            {
                slider.gameObject.SetActive(true);
                slider.value = fireCount / fireDelay;
            }
        }
 public void SetSlider(Slider weaponSlider, ReboundProgress reboundProgress)
 {
     this.weaponSlider    = weaponSlider;
     this.reboundProgress = reboundProgress;
 }