public SliderP(Slider obj, MapAnalysisContext mw) : base(obj, mw) { obj.EndTime = obj.StartTime + (obj.EndTime - obj.StartTime) * obj.Repeats; initCircle = new CircleP(new Circle( obj.Position, obj.StartTime, obj.StartTime, obj.HitSound, null, obj.IsNewCombo, obj.ComboOffset ), mw); var kek = new List <Vector2>(); var value = obj; var sld = value.SliderPoints.Select(x => new Vector2(x.X, x.Y)).ToList(); sld.Insert(0, new Vector2(obj.Position.X, obj.Position.Y)); if (value.CurveType == CurveType.Bezier) { approx = PathApproximator.ApproximateBezier(sld); } if (value.CurveType == CurveType.Catmull) { approx = PathApproximator.ApproximateCatmull(sld); } if (value.CurveType == CurveType.Linear) { approx = PathApproximator.ApproximateLinear(sld); } if (value.CurveType == CurveType.PerfectCurve) { approx = PathApproximator.ApproximateCircularArc(sld); } Debug.Assert(approx.Count > 0, "Approximation of slider failed"); }
public void loadReplay(MapAnalysisContext mw) { this.mw = mw; loadAudio(); seek(0); }
public CircleP(Circle obj, MapAnalysisContext mw) : base(obj, mw) { cw = mw.th.circleBodyWidth; aw = mw.th.approachCircleWidth; }
public SpinnerP(Spinner obj, MapAnalysisContext mw) : base(obj, mw) { }