//get single osu beatmap public WorkingBeatmap GetWorkingBeatmap(int rulesetID = 0, bool useFake = false, int beatmapIndex = 0, List <Mod> listMops = null) { WorkingBeatmap beatmap = null; var beatmapInfo = db.Query <BeatmapInfo>().FirstOrDefault(b => b.RulesetID == rulesetID); if (beatmapInfo != null) { beatmap = db.GetWorkingBeatmap(beatmapInfo); } //if cannot find any beatmap ,or use fake beatmap just create one if (beatmap?.Track == null || useFake) { beatmap = new RpTestWorkingBeatmap(getFakeBeatmapByRulesetId(rulesetID)); } //adding Mods if (listMops != null) { beatmap.Mods.Value = listMops?.ToArray(); } return(beatmap); }
public override void Reset() { base.Reset(); List <HitObject> objects = new List <HitObject>(); int time = 500; for (int i = 0; i < 100; i++) { objects.Add(new HitCircle { StartTime = time, Position = new Vector2(RNG.Next(0, (int)OsuPlayfield.BASE_SIZE.X), RNG.Next(0, (int)OsuPlayfield.BASE_SIZE.Y)), Scale = RNG.NextSingle(0.5f, 1.0f), }); time += RNG.Next(50, 500); } var controlPointInfo = new ControlPointInfo(); controlPointInfo.TimingPoints.Add(new TimingControlPoint { BeatLength = 200 }); WorkingBeatmap beatmap = new RpTestWorkingBeatmap(new Beatmap { HitObjects = objects, BeatmapInfo = new BeatmapInfo { Difficulty = new BeatmapDifficulty(), Ruleset = rulesets.Query <RulesetInfo>().First(), Metadata = new BeatmapMetadata { Artist = @"Unknown", Title = @"Sample Beatmap", Author = @"peppy", }, }, ControlPointInfo = controlPointInfo }); Add(new Drawable[] { new Container { RelativeSizeAxes = Axes.Both, //ensure we are at offset 0 Clock = new FramedClock(), Children = new Drawable[] { new OsuHitRenderer(beatmap, false) { Scale = new Vector2(0.5f), Anchor = Anchor.TopLeft, Origin = Anchor.TopLeft }, new TaikoHitRenderer(beatmap, false) { Scale = new Vector2(0.5f), Anchor = Anchor.TopRight, Origin = Anchor.TopRight }, new CatchHitRenderer(beatmap, false) { Scale = new Vector2(0.5f), Anchor = Anchor.BottomLeft, Origin = Anchor.BottomLeft }, new ManiaHitRenderer(beatmap, false) { Scale = new Vector2(0.5f), Anchor = Anchor.BottomRight, Origin = Anchor.BottomRight } } } }); }