public void ApplyToDrawableRuleset(DrawableRuleset <OsuHitObject> drawableRuleset) { gameplayClock = drawableRuleset.FrameStableClock; // Hide judgment displays and follow points as they won't make any sense. // Judgements can potentially be turned on in a future where they display at a position relative to their drawable counterpart. drawableRuleset.Playfield.DisplayJudgements.Value = false; (drawableRuleset.Playfield as OsuPlayfield)?.FollowPoints.Hide(); }
public void ApplyToDrawableRuleset(DrawableRuleset <OsuHitObject> drawableRuleset) { gameplayClock = drawableRuleset.FrameStableClock; // Grab the input manager to disable the user's cursor, and for future use inputManager = (OsuInputManager)drawableRuleset.KeyBindingInputManager; inputManager.AllowUserCursorMovement = false; // Generate the replay frames the cursor should follow replayFrames = new OsuAutoGenerator(drawableRuleset.Beatmap, drawableRuleset.Mods).Generate().Frames.Cast <OsuReplayFrame>().ToList(); }
public void ApplyToDrawableRuleset(DrawableRuleset <OsuHitObject> drawableRuleset) { ruleset = drawableRuleset; drawableRuleset.KeyBindingInputManager.Add(new InputInterceptor(this)); var firstHitObject = ruleset.Objects.FirstOrDefault(); firstObjectValidJudgementTime = (firstHitObject?.StartTime ?? 0) - (firstHitObject?.HitWindows.WindowFor(HitResult.Meh) ?? 0); gameplayClock = drawableRuleset.FrameStableClock; }