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;
}
}
}