1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-11 15:27:20 +08:00

Add back BPM and adjust sizing of bottom bar a bit more

This commit is contained in:
Dean Herbert 2024-07-12 12:34:43 +09:00
parent 95464ebf36
commit fb4f620c90
No known key found for this signature in database
2 changed files with 42 additions and 8 deletions

View File

@ -31,7 +31,7 @@ namespace osu.Game.Screens.Edit
RelativeSizeAxes = Axes.X;
Height = 40;
Height = 50;
Masking = true;
EdgeEffect = new EdgeEffectParameters
@ -48,7 +48,7 @@ namespace osu.Game.Screens.Edit
RelativeSizeAxes = Axes.Both,
ColumnDimensions = new[]
{
new Dimension(GridSizeMode.Absolute, 170),
new Dimension(GridSizeMode.Absolute, 150),
new Dimension(),
new Dimension(GridSizeMode.Absolute, 220),
new Dimension(GridSizeMode.Absolute, HitObjectComposer.TOOLBOX_CONTRACTED_SIZE_RIGHT),

View File

@ -17,6 +17,8 @@ namespace osu.Game.Screens.Edit.Components
{
public partial class TimeInfoContainer : BottomBarContainer
{
private OsuSpriteText bpm = null!;
[Resolved]
private EditorBeatmap editorBeatmap { get; set; } = null!;
@ -24,16 +26,38 @@ namespace osu.Game.Screens.Edit.Components
private EditorClock editorClock { get; set; } = null!;
[BackgroundDependencyLoader]
private void load(OverlayColourProvider colourProvider)
private void load(OsuColour colours, OverlayColourProvider colourProvider)
{
Background.Colour = colourProvider.Background5;
Children = new Drawable[]
{
new TimestampControl(),
bpm = new OsuSpriteText
{
Colour = colours.Orange1,
Anchor = Anchor.CentreLeft,
Font = OsuFont.Torus.With(size: 14, weight: FontWeight.SemiBold),
Position = new Vector2(2, 4),
}
};
}
private double? lastBPM;
protected override void Update()
{
base.Update();
double newBPM = editorBeatmap.ControlPointInfo.TimingPointAt(editorClock.CurrentTime).BPM;
if (lastBPM != newBPM)
{
lastBPM = newBPM;
bpm.Text = @$"{newBPM:0} BPM";
}
}
private partial class TimestampControl : OsuClickableContainer
{
private Container hoverLayer = null!;
@ -63,7 +87,8 @@ namespace osu.Game.Screens.Edit.Components
RelativeSizeAxes = Axes.Both,
Padding = new MarginPadding
{
Top = 5,
Top = 4,
Bottom = 1,
Horizontal = -2
},
Child = new Container
@ -83,12 +108,13 @@ namespace osu.Game.Screens.Edit.Components
Anchor = Anchor.CentreLeft,
Origin = Anchor.CentreLeft,
Spacing = new Vector2(-2, 0),
Font = OsuFont.Torus.With(size: 36, fixedWidth: true, weight: FontWeight.Light),
Font = OsuFont.Torus.With(size: 32, fixedWidth: true, weight: FontWeight.Light),
},
inputTextBox = new OsuTextBox
inputTextBox = new TimestampTextBox
{
Width = 150,
Height = 36,
Position = new Vector2(-2, 4),
Width = 128,
Height = 26,
Alpha = 0,
CommitOnFocusLost = true,
},
@ -136,6 +162,14 @@ namespace osu.Game.Screens.Edit.Components
showingHoverLayer = shouldShowHoverLayer;
}
}
private partial class TimestampTextBox : OsuTextBox
{
public TimestampTextBox()
{
TextContainer.Height = 0.8f;
}
}
}
}
}