コード例 #1
0
        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");
        }
コード例 #2
0
ファイル: Scrubber.cs プロジェクト: sunny-lan/osup
        public void loadReplay(MapAnalysisContext mw)
        {
            this.mw = mw;

            loadAudio();

            seek(0);
        }
コード例 #3
0
ファイル: CircleP.cs プロジェクト: sunny-lan/osup
 public CircleP(Circle obj, MapAnalysisContext mw) : base(obj, mw)
 {
     cw = mw.th.circleBodyWidth;
     aw = mw.th.approachCircleWidth;
 }
コード例 #4
0
ファイル: SpinnerP.cs プロジェクト: sunny-lan/osup
 public SpinnerP(Spinner obj, MapAnalysisContext mw) : base(obj, mw)
 {
 }