1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-13 07:43:00 +08:00

Make cursor test scene more automated

This commit is contained in:
smoogipoo 2019-09-09 12:48:34 +09:00
parent 7adfae3784
commit af09ed1b7f

View File

@ -6,7 +6,9 @@ using System.Collections.Generic;
using NUnit.Framework;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Testing.Input;
using osu.Game.Rulesets.Osu.UI.Cursor;
using osuTK;
namespace osu.Game.Rulesets.Osu.Tests
{
@ -18,11 +20,35 @@ namespace osu.Game.Rulesets.Osu.Tests
[BackgroundDependencyLoader]
private void load()
{
SetContents(() => new OsuCursorContainer
SetContents(() => new MovingCursorInputManager
{
RelativeSizeAxes = Axes.Both,
Masking = true,
Child = new OsuCursorContainer
{
RelativeSizeAxes = Axes.Both,
Masking = true,
}
});
}
private class MovingCursorInputManager : ManualInputManager
{
public MovingCursorInputManager()
{
UseParentInput = false;
}
protected override void Update()
{
base.Update();
const double spin_duration = 5000;
double currentTime = Time.Current;
double angle = (currentTime % spin_duration) / spin_duration * 2 * Math.PI;
Vector2 rPos = new Vector2((float)Math.Cos(angle), (float)Math.Sin(angle));
MoveMouseTo(ToScreenSpace(DrawSize / 2 + DrawSize / 3 * rPos));
}
}
}
}