public void ApplyToRulesetContainer(ManiaRulesetContainer rulesetContainer, ref List <SpeedAdjustmentContainer>[] hitObjectTimingChanges, ref List <SpeedAdjustmentContainer> barlineTimingChanges) { // We have to generate one speed adjustment per hit object for gravity foreach (ManiaHitObject obj in rulesetContainer.Objects) { MultiplierControlPoint controlPoint = rulesetContainer.CreateControlPointAt(obj.StartTime); // Beat length has too large of an effect for gravity, so we'll force it to a constant value for now controlPoint.TimingPoint.BeatLength = 1000; hitObjectTimingChanges[obj.Column].Add(new ManiaSpeedAdjustmentContainer(controlPoint, ScrollingAlgorithm.Gravity)); } // Like with hit objects, we need to generate one speed adjustment per bar line foreach (DrawableBarLine barLine in rulesetContainer.BarLines) { var controlPoint = rulesetContainer.CreateControlPointAt(barLine.HitObject.StartTime); // Beat length has too large of an effect for gravity, so we'll force it to a constant value for now controlPoint.TimingPoint.BeatLength = 1000; barlineTimingChanges.Add(new ManiaSpeedAdjustmentContainer(controlPoint, ScrollingAlgorithm.Gravity)); } }
public ManiaFramedReplayInputHandler(Replay replay, ManiaRulesetContainer container) : base(replay) { this.container = container; }