mirror of
https://github.com/ppy/osu.git
synced 2024-09-24 14:07:27 +08:00
Merge remote-tracking branch 'upstream/master' into drawable-fruit-improvements
This commit is contained in:
commit
ea568f09e0
@ -70,7 +70,7 @@ namespace osu.Game.Tests.Beatmaps.Formats
|
|||||||
Assert.AreEqual(new Vector2(320, 240), sprite.InitialPosition);
|
Assert.AreEqual(new Vector2(320, 240), sprite.InitialPosition);
|
||||||
Assert.IsTrue(sprite.IsDrawable);
|
Assert.IsTrue(sprite.IsDrawable);
|
||||||
Assert.AreEqual(Anchor.Centre, sprite.Origin);
|
Assert.AreEqual(Anchor.Centre, sprite.Origin);
|
||||||
Assert.AreEqual("SB/lyric/ja-21.png", sprite.Path);
|
Assert.AreEqual(Path.Combine("SB", "lyric", "ja-21.png"), sprite.Path);
|
||||||
|
|
||||||
var animation = background.Elements.ElementAt(12) as StoryboardAnimation;
|
var animation = background.Elements.ElementAt(12) as StoryboardAnimation;
|
||||||
Assert.NotNull(animation);
|
Assert.NotNull(animation);
|
||||||
@ -82,7 +82,7 @@ namespace osu.Game.Tests.Beatmaps.Formats
|
|||||||
Assert.IsTrue(animation.IsDrawable);
|
Assert.IsTrue(animation.IsDrawable);
|
||||||
Assert.AreEqual(AnimationLoopType.LoopForever, animation.LoopType);
|
Assert.AreEqual(AnimationLoopType.LoopForever, animation.LoopType);
|
||||||
Assert.AreEqual(Anchor.Centre, animation.Origin);
|
Assert.AreEqual(Anchor.Centre, animation.Origin);
|
||||||
Assert.AreEqual("SB/red jitter/red_0000.jpg", animation.Path);
|
Assert.AreEqual(Path.Combine("SB", "red jitter", "red_0000.jpg"), animation.Path);
|
||||||
Assert.AreEqual(78993, animation.StartTime);
|
Assert.AreEqual(78993, animation.StartTime);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -266,6 +266,6 @@ namespace osu.Game.Beatmaps.Formats
|
|||||||
throw new InvalidDataException($@"Unknown origin: {value}");
|
throw new InvalidDataException($@"Unknown origin: {value}");
|
||||||
}
|
}
|
||||||
|
|
||||||
private string cleanFilename(string path) => FileSafety.PathStandardise(path.Trim('\"'));
|
private string cleanFilename(string path) => FileSafety.PathSanitise(path.Trim('\"'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,7 @@ using osu.Game.Rulesets.Objects;
|
|||||||
using osu.Game.Rulesets.Objects.Types;
|
using osu.Game.Rulesets.Objects.Types;
|
||||||
using osu.Framework.Graphics.Shapes;
|
using osu.Framework.Graphics.Shapes;
|
||||||
using osu.Framework.Graphics.Cursor;
|
using osu.Framework.Graphics.Cursor;
|
||||||
|
using osu.Framework.Localisation;
|
||||||
|
|
||||||
namespace osu.Game.Screens.Select
|
namespace osu.Game.Screens.Select
|
||||||
{
|
{
|
||||||
@ -86,6 +87,8 @@ namespace osu.Game.Screens.Select
|
|||||||
public OsuSpriteText ArtistLabel { get; private set; }
|
public OsuSpriteText ArtistLabel { get; private set; }
|
||||||
public FillFlowContainer MapperContainer { get; private set; }
|
public FillFlowContainer MapperContainer { get; private set; }
|
||||||
public FillFlowContainer InfoLabelContainer { get; private set; }
|
public FillFlowContainer InfoLabelContainer { get; private set; }
|
||||||
|
private UnicodeBindableString titleBinding;
|
||||||
|
private UnicodeBindableString artistBinding;
|
||||||
|
|
||||||
public BufferedWedgeInfo(WorkingBeatmap working)
|
public BufferedWedgeInfo(WorkingBeatmap working)
|
||||||
{
|
{
|
||||||
@ -93,7 +96,7 @@ namespace osu.Game.Screens.Select
|
|||||||
}
|
}
|
||||||
|
|
||||||
[BackgroundDependencyLoader]
|
[BackgroundDependencyLoader]
|
||||||
private void load()
|
private void load(LocalisationEngine localisation)
|
||||||
{
|
{
|
||||||
var beatmapInfo = working.BeatmapInfo;
|
var beatmapInfo = working.BeatmapInfo;
|
||||||
var metadata = beatmapInfo.Metadata ?? working.BeatmapSetInfo?.Metadata ?? new BeatmapMetadata();
|
var metadata = beatmapInfo.Metadata ?? working.BeatmapSetInfo?.Metadata ?? new BeatmapMetadata();
|
||||||
@ -102,6 +105,9 @@ namespace osu.Game.Screens.Select
|
|||||||
CacheDrawnFrameBuffer = true;
|
CacheDrawnFrameBuffer = true;
|
||||||
RelativeSizeAxes = Axes.Both;
|
RelativeSizeAxes = Axes.Both;
|
||||||
|
|
||||||
|
titleBinding = localisation.GetUnicodePreference(metadata.TitleUnicode, metadata.Title);
|
||||||
|
artistBinding = localisation.GetUnicodePreference(metadata.ArtistUnicode, metadata.Artist);
|
||||||
|
|
||||||
Children = new Drawable[]
|
Children = new Drawable[]
|
||||||
{
|
{
|
||||||
// We will create the white-to-black gradient by modulating transparency and having
|
// We will create the white-to-black gradient by modulating transparency and having
|
||||||
@ -167,13 +173,11 @@ namespace osu.Game.Screens.Select
|
|||||||
TitleLabel = new OsuSpriteText
|
TitleLabel = new OsuSpriteText
|
||||||
{
|
{
|
||||||
Font = @"Exo2.0-MediumItalic",
|
Font = @"Exo2.0-MediumItalic",
|
||||||
Text = string.IsNullOrEmpty(metadata.Source) ? metadata.Title : metadata.Source + " — " + metadata.Title,
|
|
||||||
TextSize = 28,
|
TextSize = 28,
|
||||||
},
|
},
|
||||||
ArtistLabel = new OsuSpriteText
|
ArtistLabel = new OsuSpriteText
|
||||||
{
|
{
|
||||||
Font = @"Exo2.0-MediumItalic",
|
Font = @"Exo2.0-MediumItalic",
|
||||||
Text = metadata.Artist,
|
|
||||||
TextSize = 17,
|
TextSize = 17,
|
||||||
},
|
},
|
||||||
MapperContainer = new FillFlowContainer
|
MapperContainer = new FillFlowContainer
|
||||||
@ -193,6 +197,15 @@ namespace osu.Game.Screens.Select
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
artistBinding.ValueChanged += value => setMetadata(metadata.Source);
|
||||||
|
artistBinding.TriggerChange();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setMetadata(string source)
|
||||||
|
{
|
||||||
|
ArtistLabel.Text = artistBinding.Value;
|
||||||
|
TitleLabel.Text = string.IsNullOrEmpty(source) ? titleBinding.Value : source + " — " + titleBinding.Value;
|
||||||
|
ForceRedraw();
|
||||||
}
|
}
|
||||||
|
|
||||||
private InfoLabel[] getInfoLabels()
|
private InfoLabel[] getInfoLabels()
|
||||||
|
Loading…
Reference in New Issue
Block a user