//Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using osu.Framework; using osu.Framework.GameModes.Testing; using osu.Framework.Graphics; using osu.Framework.Timing; using OpenTK; using osu.Framework.Allocation; using osu.Game.Modes.Objects; using osu.Game.Modes.Objects.Drawables; using osu.Game.Modes.Osu.Objects; using osu.Game.Modes.Osu.Objects.Drawables; using osu.Framework.Graphics.Containers; namespace osu.Desktop.VisualTests.Tests { class TestCaseHitObjects : TestCase { public override string Name => @"Hit Objects"; IFrameBasedClock ourClock; protected override IFrameBasedClock Clock => ourClock; public TestCaseHitObjects() { var swClock = new StopwatchClock(true) { Rate = 1 }; ourClock = new FramedClock(swClock); } public override void Reset() { base.Reset(); ourClock.ProcessFrame(); Container approachContainer = new Container { Depth = float.MaxValue, }; Add(approachContainer); const int count = 10; for (int i = 0; i < count; i++) { var h = new HitCircle { StartTime = ourClock.CurrentTime + 1000 + i * 80, Position = new Vector2((i - count / 2) * 14), }; DrawableHitCircle d = new DrawableHitCircle(h) { Anchor = Anchor.Centre, Origin = Anchor.Centre, Depth = -i, State = ArmedState.Armed, }; approachContainer.Add(d.ApproachCircle.CreateProxy()); Add(d); } } protected override void Update() { base.Update(); ourClock.ProcessFrame(); } } }