1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-30 18:57:27 +08:00

Merge branch 'master' into Cakefy_osu!

This commit is contained in:
Dean Herbert 2018-09-20 19:17:51 +09:00 committed by GitHub
commit 06f7cfa493
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 33 additions and 11 deletions

View File

@ -1,7 +1,6 @@
// Copyright (c) 2007-2018 ppy Pty Ltd <contact@ppy.sh>. // Copyright (c) 2007-2018 ppy Pty Ltd <contact@ppy.sh>.
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using System;
using osu.Framework.Graphics; using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes; using osu.Framework.Graphics.Shapes;
@ -15,19 +14,34 @@ namespace osu.Game.Beatmaps.Drawables
private readonly OsuSpriteText statusText; private readonly OsuSpriteText statusText;
private BeatmapSetOnlineStatus status; private BeatmapSetOnlineStatus status;
public BeatmapSetOnlineStatus Status public BeatmapSetOnlineStatus Status
{ {
get => status; get => status;
set set
{ {
if (value == status) return; if (status == value)
return;
status = value; status = value;
statusText.Text = Enum.GetName(typeof(BeatmapSetOnlineStatus), Status)?.ToUpperInvariant(); Alpha = value == BeatmapSetOnlineStatus.None ? 0 : 1;
statusText.Text = value.ToString().ToUpperInvariant();
} }
} }
public BeatmapSetOnlineStatusPill(float textSize, MarginPadding textPadding) public float TextSize
{
get => statusText.TextSize;
set => statusText.TextSize = value;
}
public MarginPadding TextPadding
{
get => statusText.Padding;
set => statusText.Padding = value;
}
public BeatmapSetOnlineStatusPill()
{ {
AutoSizeAxes = Axes.Both; AutoSizeAxes = Axes.Both;
Masking = true; Masking = true;
@ -45,8 +59,6 @@ namespace osu.Game.Beatmaps.Drawables
Anchor = Anchor.Centre, Anchor = Anchor.Centre,
Origin = Anchor.Centre, Origin = Anchor.Centre,
Font = @"Exo2.0-Bold", Font = @"Exo2.0-Bold",
TextSize = textSize,
Padding = textPadding,
}, },
}; };

View File

@ -230,10 +230,12 @@ namespace osu.Game.Overlays.BeatmapSet
Spacing = new Vector2(10), Spacing = new Vector2(10),
Children = new Drawable[] Children = new Drawable[]
{ {
onlineStatusPill = new BeatmapSetOnlineStatusPill(14, new MarginPadding { Horizontal = 25, Vertical = 8 }) onlineStatusPill = new BeatmapSetOnlineStatusPill
{ {
Anchor = Anchor.TopRight, Anchor = Anchor.TopRight,
Origin = Anchor.TopRight, Origin = Anchor.TopRight,
TextSize = 14,
TextPadding = new MarginPadding { Horizontal = 25, Vertical = 8 }
}, },
Details = new Details(), Details = new Details(),
}, },

View File

@ -217,8 +217,10 @@ namespace osu.Game.Overlays.Direct
statusContainer.Add(new IconPill(FontAwesome.fa_image)); statusContainer.Add(new IconPill(FontAwesome.fa_image));
} }
statusContainer.Add(new BeatmapSetOnlineStatusPill(12, new MarginPadding { Horizontal = 10, Vertical = 5 }) statusContainer.Add(new BeatmapSetOnlineStatusPill
{ {
TextSize = 12,
TextPadding = new MarginPadding { Horizontal = 10, Vertical = 5 },
Status = SetInfo.OnlineInfo?.Status ?? BeatmapSetOnlineStatus.None, Status = SetInfo.OnlineInfo?.Status ?? BeatmapSetOnlineStatus.None,
}); });

View File

@ -217,8 +217,10 @@ namespace osu.Game.Screens.Select
AutoSizeAxes = Axes.Both, AutoSizeAxes = Axes.Both,
Children = new Drawable[] Children = new Drawable[]
{ {
StatusPill = new BeatmapSetOnlineStatusPill(11, new MarginPadding { Horizontal = 8, Vertical = 2 }) StatusPill = new BeatmapSetOnlineStatusPill
{ {
TextSize = 11,
TextPadding = new MarginPadding { Horizontal = 8, Vertical = 2 },
Status = beatmapInfo.Status, Status = beatmapInfo.Status,
} }
} }
@ -261,6 +263,8 @@ namespace osu.Game.Screens.Select
} }
} }
}; };
titleBinding.BindValueChanged(value => setMetadata(metadata.Source));
artistBinding.BindValueChanged(value => setMetadata(metadata.Source), true); artistBinding.BindValueChanged(value => setMetadata(metadata.Source), true);
// no difficulty means it can't have a status to show // no difficulty means it can't have a status to show

View File

@ -85,11 +85,13 @@ namespace osu.Game.Screens.Select.Carousel
Margin = new MarginPadding { Top = 5 }, Margin = new MarginPadding { Top = 5 },
Children = new Drawable[] Children = new Drawable[]
{ {
new BeatmapSetOnlineStatusPill(11, new MarginPadding { Horizontal = 8, Vertical = 2 }) new BeatmapSetOnlineStatusPill
{ {
Origin = Anchor.CentreLeft, Origin = Anchor.CentreLeft,
Anchor = Anchor.CentreLeft, Anchor = Anchor.CentreLeft,
Margin = new MarginPadding{ Right = 5 }, Margin = new MarginPadding { Right = 5 },
TextSize = 11,
TextPadding = new MarginPadding { Horizontal = 8, Vertical = 2 },
Status = beatmapSet.Status Status = beatmapSet.Status
}, },
new FillFlowContainer<FilterableDifficultyIcon> new FillFlowContainer<FilterableDifficultyIcon>