HelloWorld.Unit.RecoveryMobilityForIdle C# (CSharp) Method

RecoveryMobilityForIdle() protected method

如果休息时间足够,则复原移动力
protected RecoveryMobilityForIdle ( System.DateTime now ) : void
now System.DateTime
return void
        protected virtual void RecoveryMobilityForIdle( DateTime now )
        {
            var restTime = now - LastActTime;

              while ( Mobility < Descriptor.MobilityMaximum )
              {
            restTime -= Descriptor.MobilityRecoveryCycle;
            if ( restTime < TimeSpan.Zero )
              break;

            Mobility += Descriptor.MobilityRecoveryScale;
            if ( Mobility > Descriptor.MobilityMaximum )
            {
              Mobility = Descriptor.MobilityMaximum;
              break;
            }
              }
        }