1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-13 14:12:56 +08:00

Add current time labels

This commit is contained in:
Dean Herbert 2017-06-15 15:06:38 +09:00
parent 32226f90db
commit 6679575c13

View File

@ -9,6 +9,7 @@ using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Testing;
using osu.Game.Graphics.Sprites;
using osu.Game.Rulesets.Objects;
using osu.Game.Rulesets.Objects.Drawables;
using osu.Game.Rulesets.Timing;
@ -22,8 +23,9 @@ namespace osu.Desktop.VisualTests.Tests
private SpeedAdjustmentCollection adjustmentCollection;
private BindableDouble timeRangeBindable;
private SpriteText timeRangeText;
private SpriteText bottomLabel;
private OsuSpriteText timeRangeText;
private OsuSpriteText bottomLabel;
private SpriteText topTime, bottomTime;
public override void Reset()
{
@ -43,7 +45,7 @@ namespace osu.Desktop.VisualTests.Tests
KeyboardStep = 100
});
Add(timeRangeText = new SpriteText
Add(timeRangeText = new OsuSpriteText
{
X = 210,
TextSize = 16,
@ -70,21 +72,38 @@ namespace osu.Desktop.VisualTests.Tests
adjustmentCollection = new SpeedAdjustmentCollection
{
RelativeSizeAxes = Axes.Both,
VisibleTimeRange = timeRangeBindable
VisibleTimeRange = timeRangeBindable,
Masking = true,
},
new SpriteText
new OsuSpriteText
{
Text = "t minus 0",
Margin = new MarginPadding(2),
TextSize = 14,
Anchor = Anchor.TopRight,
},
bottomLabel = new SpriteText
bottomLabel = new OsuSpriteText
{
Text = "t minus x",
Margin = new MarginPadding(2),
TextSize = 14,
Anchor = Anchor.BottomRight,
Origin = Anchor.BottomLeft,
},
topTime = new OsuSpriteText
{
Margin = new MarginPadding(2),
TextSize = 14,
Anchor = Anchor.TopLeft,
Origin = Anchor.TopRight,
},
bottomTime = new OsuSpriteText
{
Margin = new MarginPadding(2),
TextSize = 14,
Anchor = Anchor.BottomLeft,
Origin = Anchor.BottomRight,
},
}
}
});
@ -96,6 +115,13 @@ namespace osu.Desktop.VisualTests.Tests
AddStep("Add hit object", () => adjustmentCollection.Add(new TestDrawableHitObject(new HitObject { StartTime = Time.Current + 2000 })));
}
protected override void Update()
{
base.Update();
topTime.Text = Time.Current.ToString("#,#");
bottomTime.Text = (Time.Current + timeRangeBindable.Value).ToString("#,#");
}
private class TestSpeedAdjustmentContainer : SpeedAdjustmentContainer
{
public TestSpeedAdjustmentContainer(MultiplierControlPoint controlPoint)
@ -126,6 +152,8 @@ namespace osu.Desktop.VisualTests.Tests
private class TestDrawableHitObject : DrawableHitObject
{
private const float height = 14;
public TestDrawableHitObject(HitObject hitObject)
: base(hitObject)
{
@ -135,11 +163,29 @@ namespace osu.Desktop.VisualTests.Tests
Y = (float)hitObject.StartTime;
Add(new Box
Children = new Drawable[]
{
new Box
{
RelativeSizeAxes = Axes.X,
Height = 10,
});
Height = height,
},
new Box
{
RelativeSizeAxes = Axes.X,
Colour = Color4.Cyan,
Height = 1,
},
new OsuSpriteText
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
Colour = Color4.Black,
TextSize = height,
Font = @"Exo2.0-BoldItalic",
Text = $"{hitObject.StartTime:#,#}"
}
};
}
}
}