Ejemplo n.º 1
0
        public bool RemoveControlPoint(MultiplierControlPoint controlPoint)
        {
            var result = ControlPoints.Remove(controlPoint);

            if (result)
            {
                initialStateCache.Invalidate();
            }
            return(result);
        }
Ejemplo n.º 2
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));
            }
        }
Ejemplo n.º 3
0
 private void applySpeedAdjustment(MultiplierControlPoint controlPoint, ScrollingPlayfield playfield)
 {
     playfield.HitObjects.AddControlPoint(controlPoint);
     playfield.NestedPlayfields?.OfType <ScrollingPlayfield>().ForEach(p => applySpeedAdjustment(controlPoint, p));
 }
Ejemplo n.º 4
0
 public PositionMapping(double time, MultiplierControlPoint controlPoint = null, double position = default)
 {
     Time         = time;
     ControlPoint = controlPoint;
     Position     = position;
 }
Ejemplo n.º 5
0
 public TestDrawableTimingSection(MultiplierControlPoint controlPoint)
 {
     this.controlPoint = controlPoint;
 }
Ejemplo n.º 6
0
 public TestSpeedAdjustmentContainer(MultiplierControlPoint controlPoint)
     : base(controlPoint)
 {
 }
Ejemplo n.º 7
0
        public OverlappingScrollAlgorithm(SortedList <MultiplierControlPoint> controlPoints)
        {
            this.controlPoints = controlPoints;

            searchPoint = new MultiplierControlPoint();
        }
Ejemplo n.º 8
0
 private void applySpeedAdjustment(MultiplierControlPoint controlPoint, ScrollingPlayfield playfield)
 {
     playfield.HitObjects.AddSpeedAdjustment(CreateSpeedAdjustmentContainer(controlPoint));
     playfield.NestedPlayfields.ForEach(p => applySpeedAdjustment(controlPoint, p));
 }
Ejemplo n.º 9
0
 /// <summary>
 /// Creates a <see cref="SpeedAdjustmentContainer"/> that facilitates the movement of hit objects.
 /// </summary>
 /// <param name="controlPoint">The <see cref="MultiplierControlPoint"/> that provides the speed adjustments for the hitobjects.</param>
 /// <returns>The <see cref="SpeedAdjustmentContainer"/>.</returns>
 protected virtual SpeedAdjustmentContainer CreateSpeedAdjustmentContainer(MultiplierControlPoint controlPoint) => new SpeedAdjustmentContainer(controlPoint);
Ejemplo n.º 10
0
 protected override SpeedAdjustmentContainer CreateSpeedAdjustmentContainer(MultiplierControlPoint controlPoint) => new ManiaSpeedAdjustmentContainer(controlPoint, ScrollingAlgorithm.Basic);
Ejemplo n.º 11
0
 public void AddControlPoint(MultiplierControlPoint controlPoint)
 {
     ControlPoints.Add(controlPoint);
     initialStateCache.Invalidate();
 }
Ejemplo n.º 12
0
 public ManiaSpeedAdjustmentContainer(MultiplierControlPoint timingSection, ScrollingAlgorithm scrollingAlgorithm)
     : base(timingSection)
 {
     this.scrollingAlgorithm = scrollingAlgorithm;
 }
Ejemplo n.º 13
0
 public GravityScrollingContainer(MultiplierControlPoint controlPoint)
 {
     this.controlPoint = controlPoint;
 }
Ejemplo n.º 14
0
 public BasicScrollingDrawableTimingSection(MultiplierControlPoint controlPoint)
 {
     this.controlPoint = controlPoint;
 }