Path: blob/master/osu.Game/Screens/OnlinePlay/Matchmaking/Match/Results/PanelUserStatistic.cs
5236 views
// Copyright (c) ppy Pty Ltd <[email protected]>. Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System.Globalization; using Humanizer; using osu.Framework.Allocation; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Shapes; using osu.Game.Graphics; using osu.Game.Graphics.Sprites; using osu.Game.Overlays; using osuTK; namespace osu.Game.Screens.OnlinePlay.Matchmaking.Match.Results { public partial class PanelUserStatistic : CompositeDrawable { private readonly int position; private readonly string text; public PanelUserStatistic(int position, string text) { this.position = position; this.text = text; AutoSizeAxes = Axes.Both; } [Resolved] private OverlayColourProvider colourProvider { get; set; } = null!; [BackgroundDependencyLoader] private void load() { InternalChild = new CircularContainer { AutoSizeAxes = Axes.Both, Masking = true, Children = new Drawable[] { new FillFlowContainer { AutoSizeAxes = Axes.Both, Direction = FillDirection.Horizontal, Spacing = new Vector2(5, 0), Children = new Drawable[] { new Container { Width = 30, Masking = true, CornerRadius = 6, CornerExponent = 10, Anchor = Anchor.Centre, Origin = Anchor.Centre, AutoSizeAxes = Axes.Y, Children = new Drawable[] { new Box { RelativeSizeAxes = Axes.Both, Colour = SubScreenResults.ColourForPlacement(position), }, new OsuSpriteText { Anchor = Anchor.Centre, Origin = Anchor.Centre, Font = OsuFont.Default.With(weight: FontWeight.Bold), Text = position.Ordinalize(CultureInfo.CurrentCulture), Colour = colourProvider.Background4, }, } }, new OsuSpriteText { Anchor = Anchor.Centre, Origin = Anchor.Centre, Font = OsuFont.Style.Caption2, Text = text } } }, } }; } } }