// Covers DX Straight 3-7 public static SentakkiSlidePath GenerateStraightPattern(int end) { var controlPoints = new List <PathControlPoint> { new PathControlPoint(SentakkiExtensions.GetPositionAlongLane(SentakkiPlayfield.INTERSECTDISTANCE, 0), PathType.Linear), new PathControlPoint(getPositionInBetween(SentakkiExtensions.GetPositionAlongLane(SentakkiPlayfield.INTERSECTDISTANCE, 0), SentakkiExtensions.GetPositionAlongLane(SentakkiPlayfield.INTERSECTDISTANCE, end)), PathType.Linear), new PathControlPoint(SentakkiExtensions.GetPositionAlongLane(SentakkiPlayfield.INTERSECTDISTANCE, end), PathType.Linear), }.ToArray(); return(new SentakkiSlidePath(controlPoints, end)); }
public void Apply(JudgementResult result, DrawableHitObject hitObject) { this.result = result.Type; judgementPiece.JudgementText.Text = result.Type.GetDisplayNameForSentakkiResult().ToUpperInvariant(); judgementPiece.JudgementText.Colour = result.Type.GetColorForSentakkiResult(); if (result.HitObject.HitWindows is HitWindows.EmptyHitWindows || result.Type == HitResult.Miss || !detailedJudgements.Value) { timingPiece.Alpha = 0; } else { timingPiece.Alpha = 1; if (result.TimeOffset >= 16) { timingPiece.Text = "LATE"; timingPiece.Colour = Color4.OrangeRed; } else if (result.TimeOffset <= -16) { timingPiece.Text = "EARLY"; timingPiece.Colour = Color4.GreenYellow; } else { timingPiece.Text = "CRITICAL"; timingPiece.Colour = Color4.Orange; } } LifetimeStart = result.TimeAbsolute; switch (hitObject) { case DrawableSentakkiLanedHitObject laned: Position = SentakkiExtensions.GetPositionAlongLane(240, laned.HitObject.Lane); Rotation = laned.HitObject.Lane.GetRotationForLane(); break; default: Position = hitObject.Position; Rotation = 0; break; } }
public void Apply(JudgementResult result, DrawableHitObject hitObject) { this.result = result.Type; judgementBody.JudgementText.Text = result.Type.GetDescription().ToUpperInvariant(); judgementBody.JudgementText.Colour = colours.ForHitResult(result.Type); LifetimeStart = result.TimeAbsolute; switch (hitObject) { case DrawableSentakkiLanedHitObject laned: Position = SentakkiExtensions.GetPositionAlongLane(240, laned.HitObject.Lane); Rotation = laned.HitObject.Lane.GetRotationForLane(); break; default: Position = hitObject.Position; Rotation = 0; break; } }
private void createHitObjects(int amount = 1) { for (int i = 0; i < amount; ++i) { var lane = RNG.Next(0, 8); var ho = new Tap { StartTime = Time.Current + 1000, Lane = lane }; lineRenderer.AddHitObject(ho); Add(new Circle { Size = new Vector2(20), Colour = Color4.White, LifetimeEnd = Time.Current + 1000, Anchor = Anchor.Centre, Origin = Anchor.Centre, Position = SentakkiExtensions.GetPositionAlongLane(300, lane) }); } }
public void Apply(SentakkiLanedHitObject lanedHitObject) { Position = SentakkiExtensions.GetPositionAlongLane(SentakkiPlayfield.INTERSECTDISTANCE, lanedHitObject.Lane); Colour = lanedHitObject.NoteColour; }
static Vector2 lanestart(int x) => SentakkiExtensions.GetPositionAlongLane(SentakkiPlayfield.INTERSECTDISTANCE, x);