private void UpdateDifficultyPoints(ReadingPoint readingPoint) { // Add readingPoint to currentDiffPoints CurrentReadingPoints.Add(readingPoint); // Remove points that are no longer visible double currentTime = readingPoint.HitObject.Time - readingPoint.HitObject.ApproachTime; // Visual points are processed at the moment they first appear CurrentReadingPoints.RemoveAll(rp => rp.HitObject.Time < currentTime); }
public bool ProcessHitObject(HitObject hitObject) { if (hitObject is Spinner) { // Spinners are not considered in reading return(false); } var readingPoint = new ReadingPoint { HitObject = hitObject }; // Construct visual points from hitobject and call ProcessDifficultyPoint with them UpdateDifficultyPoints(readingPoint); return(true); }