private static double GetTransformedTime(RuntimeNote note, double now, NoteTimePoints timePoints, bool clampIncoming = true, bool clampPassed = true) { var timeRemaining = note.HitTime - now; double timeRemainingInWindow; if (clampIncoming && timeRemaining > timePoints.Duration) { timeRemainingInWindow = 1f; } else if (clampPassed && timeRemaining < 0f) { timeRemainingInWindow = 0f; } else { timeRemainingInWindow = timeRemaining / timePoints.Duration; } return(WtfTransform(timeRemainingInWindow)); }
private static float GetNoteOnStageY(RuntimeNote note, double now, NoteTimePoints timePoints, NoteAnimationMetrics animationMetrics) { var transformedTime = GetTransformedTime(note, now, timePoints); return(GetNoteOnStageY(transformedTime, animationMetrics)); }