예제 #1
0
        public RelevantLine GetRelevantObjects(RelevantHitObject relevantHitObject)
        {
            var ho = relevantHitObject.HitObject;

            return(ho.IsSlider && ho.SliderType == PathType.Linear && ho.CurvePoints.Count >= 1
                ? new RelevantLine(Line2.FromPoints(ho.Pos, ho.CurvePoints.Last()))
                : null);
        }
        public RelevantCircle GetRelevantObjects(RelevantHitObject relevantHitObject)
        {
            var ho = relevantHitObject.HitObject;

            return(ho.IsSlider && ho.SliderType == PathType.PerfectCurve && ho.CurvePoints.Count == 2
                ? new RelevantCircle(new Circle(new CircleArc(ho.GetAllCurvePoints())))
                : null);
        }
예제 #3
0
        public RelevantPoint GetRelevantObjects(RelevantHitObject relevantHitObject)
        {
            var ho = relevantHitObject.HitObject;

            if (ho.CurvePoints == null || ho.CurvePoints.Count == 0)
            {
                return(null);
            }
            return(ho.IsSlider ? new RelevantPoint(ho.CurvePoints.Last()) : null);
        }
예제 #4
0
        public RelevantPoint[] GetRelevantObjects(RelevantHitObject relevantHitObject)
        {
            var ho = relevantHitObject.HitObject;

            if (!ho.IsSlider)
            {
                return(null);
            }

            var numPoints  = (int)(ho.PixelLength * ((SliderPathGeneratorSettings)Settings).PointDensity);
            var points     = new RelevantPoint[numPoints];
            var sliderPath = ho.GetSliderPath();

            for (int i = 0; i < numPoints; i++)
            {
                points[i] = new RelevantPoint(sliderPath.PositionAt((double)i / (numPoints - 1)));
            }

            return(points);
        }
예제 #5
0
        public RelevantPoint GetRelevantObjects(RelevantHitObject relevantHitObject)
        {
            var ho = relevantHitObject.HitObject;

            return(ho.IsSlider ? new RelevantPoint(ho.CurvePoints.Last()) : null);
        }
예제 #6
0
        public RelevantPoint GetRelevantObjects(RelevantHitObject relevantHitObject)
        {
            var ho = relevantHitObject.HitObject;

            return(ho.IsSlider ? new RelevantPoint(ho.GetSliderPath().PositionAt(1)) : null);
        }
예제 #7
0
        public IEnumerable <RelevantPoint> GetRelevantObjects(RelevantHitObject relevantHitObject)
        {
            var ho = relevantHitObject.HitObject;

            return(ho.IsSlider ? ho.GetAllCurvePoints().Select(o => new RelevantPoint(o)) : null);
        }
예제 #8
0
 public RelevantPoint GetRelevantObjects(RelevantHitObject ho)
 {
     return(new RelevantPoint(ho.HitObject.Pos));
 }