Add ability to set preview time

This commit is contained in:
cdwcgt
2022-12-16 01:03:30 +09:00
parent 60c8ef3fe5
commit c164744064
4 changed files with 56 additions and 0 deletions

View File

@ -0,0 +1,31 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using osu.Framework.Allocation;
using osu.Framework.Bindables;
using osu.Game.Graphics;
using osu.Game.Screens.Edit.Components.Timelines.Summary.Visualisations;
namespace osu.Game.Screens.Edit.Components.Timelines.Summary.Parts
{
public partial class PreviewTimePart : TimelinePart
{
protected override void LoadBeatmap(EditorBeatmap beatmap)
{
base.LoadBeatmap(beatmap);
Add(new PreviewTimeVisualisation(beatmap.PreviewTime));
}
private partial class PreviewTimeVisualisation : PointVisualisation
{
public PreviewTimeVisualisation(BindableInt time)
: base(time.Value)
{
time.BindValueChanged(s => X = s.NewValue);
}
[BackgroundDependencyLoader]
private void load(OsuColour colours) => Colour = colours.Lime;
}
}
}

View File

@ -41,6 +41,14 @@ namespace osu.Game.Screens.Edit.Components.Timelines.Summary
RelativeSizeAxes = Axes.Both,
Height = 0.35f
},
new PreviewTimePart
{
Anchor = Anchor.Centre,
Origin = Anchor.BottomCentre,
RelativeSizeAxes = Axes.Both,
Y = -10,
Height = 0.35f
},
new Container
{
Name = "centre line",