// Copyright (c) 2007-2017 ppy Pty Ltd . // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using OpenTK; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.MathUtils; using osu.Framework.Screens.Testing; using osu.Framework.Timing; using osu.Game.Beatmaps; using osu.Game.Beatmaps.IO; using osu.Game.Database; using osu.Game.Modes.Catch.UI; using osu.Game.Modes.Mania.UI; using osu.Game.Modes.Objects; using osu.Game.Modes.Osu.Objects; using osu.Game.Modes.Osu.UI; using osu.Game.Modes.Taiko.UI; using System.Collections.Generic; namespace osu.Desktop.VisualTests.Tests { internal class TestCaseGamefield : TestCase { public override string Description => @"Showing hitobjects and what not."; public override void Reset() { base.Reset(); List objects = new List(); int time = 500; for (int i = 0; i < 100; i++) { objects.Add(new HitCircle { StartTime = time, Position = new Vector2(RNG.Next(0, 512), RNG.Next(0, 384)), Scale = RNG.NextSingle(0.5f, 1.0f), }); time += RNG.Next(50, 500); } WorkingBeatmap beatmap = new TestWorkingBeatmap(new Beatmap { HitObjects = objects, BeatmapInfo = new BeatmapInfo { BaseDifficulty = new BaseDifficulty(), Metadata = new BeatmapMetadata { Artist = @"Unknown", Title = @"Sample Beatmap", Author = @"peppy", } } }); Add(new Drawable[] { new Container { RelativeSizeAxes = Axes.Both, //ensure we are at offset 0 Clock = new FramedClock(), Children = new Drawable[] { new OsuHitRenderer(beatmap) { Scale = new Vector2(0.5f), Anchor = Anchor.TopLeft, Origin = Anchor.TopLeft }, new TaikoHitRenderer(beatmap) { Scale = new Vector2(0.5f), Anchor = Anchor.TopRight, Origin = Anchor.TopRight }, new CatchHitRenderer(beatmap) { Scale = new Vector2(0.5f), Anchor = Anchor.BottomLeft, Origin = Anchor.BottomLeft }, new ManiaHitRenderer(beatmap) { Scale = new Vector2(0.5f), Anchor = Anchor.BottomRight, Origin = Anchor.BottomRight } } } }); } private class TestWorkingBeatmap : WorkingBeatmap { public TestWorkingBeatmap(Beatmap beatmap) : base(beatmap.BeatmapInfo, beatmap.BeatmapInfo.BeatmapSet) { Beatmap = beatmap; } protected override ArchiveReader GetReader() => null; } } }