Merge master with conflicts resolved

This commit is contained in:
Andrei Zavatski
2021-01-21 07:30:47 +03:00
35 changed files with 375 additions and 254 deletions

View File

@ -8,7 +8,6 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Input.Events;
using osu.Game.Beatmaps;
using osu.Game.Graphics.Containers;
using osu.Game.Online.API.Requests;
using osu.Game.Overlays.BeatmapSet;
using osu.Game.Overlays.BeatmapSet.Scores;
@ -19,15 +18,12 @@ using osuTK.Graphics;
namespace osu.Game.Overlays
{
public class BeatmapSetOverlay : OnlineOverlay<OverlayHeader> // we don't provide a standard header for now.
public class BeatmapSetOverlay : OnlineOverlay<BeatmapSetHeader>
{
public const float X_PADDING = 40;
public const float Y_PADDING = 25;
public const float RIGHT_WIDTH = 275;
//todo: should be an OverlayHeader? or maybe not?
protected new readonly Header Header;
[Resolved]
private RulesetStore rulesets { get; set; }
@ -50,23 +46,10 @@ namespace osu.Game.Overlays
Spacing = new Vector2(0, 20),
Children = new Drawable[]
{
new BeatmapSetLayoutSection
{
Child = new ReverseChildIDFillFlowContainer<Drawable>
{
AutoSizeAxes = Axes.Y,
RelativeSizeAxes = Axes.X,
Direction = FillDirection.Vertical,
Children = new Drawable[]
{
Header = new Header(),
info = new Info()
}
},
},
info = new Info(),
new ScoresContainer
{
Beatmap = { BindTarget = Header.Picker.Beatmap }
Beatmap = { BindTarget = Header.HeaderContent.Picker.Beatmap }
},
comments = new CommentsSection()
}
@ -76,14 +59,14 @@ namespace osu.Game.Overlays
info.BeatmapSet.BindTo(beatmapSet);
comments.BeatmapSet.BindTo(beatmapSet);
Header.Picker.Beatmap.ValueChanged += b =>
Header.HeaderContent.Picker.Beatmap.ValueChanged += b =>
{
info.Beatmap = b.NewValue;
ScrollFlow.ScrollToStart();
};
}
protected override OverlayHeader CreateHeader() => null;
protected override BeatmapSetHeader CreateHeader() => new BeatmapSetHeader();
protected override Color4 GetBackgroundColour() => ColourProvider.Background6;
@ -107,7 +90,7 @@ namespace osu.Game.Overlays
req.Success += res =>
{
beatmapSet.Value = res.ToBeatmapSet(rulesets);
Header.Picker.Beatmap.Value = Header.BeatmapSet.Value.Beatmaps.First(b => b.OnlineBeatmapID == beatmapId);
Header.HeaderContent.Picker.Beatmap.Value = Header.BeatmapSet.Value.Beatmaps.First(b => b.OnlineBeatmapID == beatmapId);
};
API.Queue(req);