示例#1
0
        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));
            }
        }
示例#2
0
 public ManiaFramedReplayInputHandler(Replay replay, ManiaRulesetContainer container)
     : base(replay)
 {
     this.container = container;
 }