internal static bool GetDuration(ITashaHousehold household, Activity activity, Time startTime, Random random, out Time duration) { int length = Scheduler.StartTimeQuanta - 1 - Distribution.TimeOfDayToDistribution(startTime); return(Distribution.GetRandomStartDurationTimeFrequency(Distribution.GetDistributionID(household, activity), startTime, 0, length, random, out duration)); }
internal static bool GetDuration(ITashaHousehold household, Activity activity, Time startTime, Time maxDuration, Random random, out Time duration) { return(Distribution.GetRandomStartDurationTimeFrequency(Distribution.GetDistributionID(household, activity), startTime, 0, Distribution.DurationToDistribution(maxDuration), random, out duration)); }
/// <summary> /// Gets a duration that is not greater than the given max Duration /// </summary> /// <param name="person"></param> /// <param name="activity"></param> /// <param name="startTime"></param> /// <param name="maxDuration"></param> /// <param name="random"></param> /// <param name="returnStartTime"></param> /// <returns></returns> internal static bool GetDuration(ITashaPerson person, Activity activity, Time startTime, Time maxDuration, Random random, out Time returnStartTime) { return(Distribution.GetRandomStartDurationTimeFrequency(Distribution.GetDistributionID(person, activity), startTime, 0, Distribution.DurationToDistribution(maxDuration), random, out returnStartTime)); }