コード例 #1
0
        private void UpdateRadius()
        {
            float deltaTime = Time.get_deltaTime();

            if (this.radiusWait)
            {
                if (!this.activeNextRadius)
                {
                    this.ResetRadius();
                }
                if (this.activeNextRadius && (double)this.radiusWaitTimeLimit <= (double)this.radiusWaitCounter)
                {
                    this.radiusWaitCounter = 0.0f;
                    this.radiusWait        = false;
                }
                else
                {
                    this.radiusWaitCounter += deltaTime;
                }
            }
            if (this.radiusWait)
            {
                return;
            }
            float time = Mathf.InverseLerp(0.0f, this.radiusTimeLimit, Mathf.Clamp(this.radiusCounter, 0.0f, this.radiusTimeLimit));

            if (this.HitParam.ChangeRadiusEasing)
            {
                time = EasingFunctions.EaseOutQuart(time, 1f);
            }
            this.currentHitMoveAreaRadius = Mathf.Lerp(this.startHitMoveAreaRadius, this.nextHitMoveAreaRadius, time);
            if ((double)this.radiusTimeLimit <= (double)this.radiusCounter)
            {
                this.radiusWait               = true;
                this.radiusCounter            = 0.0f;
                this.currentHitMoveAreaRadius = this.nextHitMoveAreaRadius;
                this.radiusWaitTimeLimit      = Random.Range(this.HitParam.RadiusMinWaitTimeLimit, this.HitParam.RadiusMaxWaitTimeLimit);
                this.activeNextRadius         = false;
            }
            else
            {
                this.radiusCounter += deltaTime;
            }
        }