Esempio n. 1
0
        private IEnumerable <Break> MakeBreaks(BreaksModel breakModel)
        {
            Break b = null;

            if (breakModel != null)
            {
                do
                {
                    var minTime   = b?.EndTime + breakModel.MinTimeBetweenBreaks ?? breakModel.MinTimeSinceStartOfTrack;
                    var maxTime   = minTime + (breakModel.MaxTimeBetweenBreaks - breakModel.MinTimeBetweenBreaks);
                    var breakTime = minTime + (randomizer.GetRandom(0.5) * (maxTime - minTime));
                    var topLength = breakModel.MinLength + (randomizer.GetRandom(0.5) * (breakModel.MaxLength - breakModel.MinLength));
                    b = new Break(breakTime, topLength, breakModel.RampLength);
                    yield return(b);
                } while (b.EndTime < settings.TrackLength);
            }
        }
Esempio n. 2
0
 public BreakApplier(SettingsCommon settings, BreaksModel breaksSettings, IGetRandom randomizer)
 {
     this.settings   = settings;
     this.randomizer = randomizer;
     breaks          = MakeBreaks(breaksSettings).ToArray();
 }