1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-21 19:52:55 +08:00

Move colour selection to the FriendsOnlineStatusItem

This commit is contained in:
Andrei Zavatski 2020-03-04 00:28:47 +03:00
parent 06b23b626e
commit c22f61b2b1
4 changed files with 24 additions and 28 deletions

View File

@ -2,6 +2,7 @@
// See the LICENCE file in the repository root for full licence text.
using Humanizer;
using osu.Game.Graphics;
using osu.Game.Online.API.Requests.Responses;
using osuTK.Graphics;
@ -28,6 +29,6 @@ namespace osu.Game.Overlays.Changelog
protected override string GetInfoText() => Value.LatestBuild.Users > 0 ? $"{"user".ToQuantity(Value.LatestBuild.Users, "N0")} online" : null;
protected override Color4 GetBarColour() => Value.Colour;
protected override Color4 GetBarColour(OsuColour colours) => Value.Colour;
}
}

View File

@ -1,9 +1,6 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using System;
using osuTK.Graphics;
namespace osu.Game.Overlays.Home.Friends
{
public class FriendsBundle
@ -12,31 +9,11 @@ namespace osu.Game.Overlays.Home.Friends
public int Amount { get; }
public Color4 Colour => getColour();
public FriendsBundle(FriendsOnlineStatus status, int amount)
{
Status = status;
Amount = amount;
}
private Color4 getColour()
{
switch (Status)
{
default:
throw new ArgumentException($@"{Status} status does not provide a colour in {nameof(getColour)}.");
case FriendsOnlineStatus.All:
return Color4.White;
case FriendsOnlineStatus.Online:
return Color4.Lime;
case FriendsOnlineStatus.Offline:
return Color4.Black;
}
}
}
public enum FriendsOnlineStatus

View File

@ -1,6 +1,8 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using System;
using osu.Game.Graphics;
using osuTK.Graphics;
namespace osu.Game.Overlays.Home.Friends
@ -16,6 +18,22 @@ namespace osu.Game.Overlays.Home.Friends
protected override string GetAdditionalText() => Value.Amount.ToString();
protected override Color4 GetBarColour() => Value.Colour;
protected override Color4 GetBarColour(OsuColour colours)
{
switch (Value.Status)
{
default:
throw new ArgumentException($@"{Value.Status} status does not provide a colour in {nameof(GetBarColour)}.");
case FriendsOnlineStatus.All:
return Color4.White;
case FriendsOnlineStatus.Online:
return colours.GreenLight;
case FriendsOnlineStatus.Offline:
return Color4.Black;
}
}
}
}

View File

@ -46,7 +46,7 @@ namespace osu.Game.Overlays
}
[BackgroundDependencyLoader]
private void load(OverlayColourProvider colourProvider)
private void load(OverlayColourProvider colourProvider, OsuColour colours)
{
Size = new Vector2(GetWidth(), 60);
Padding = new MarginPadding(5);
@ -81,7 +81,7 @@ namespace osu.Game.Overlays
expandingBar = new ExpandingBar
{
Anchor = Anchor.TopCentre,
Colour = GetBarColour(),
Colour = GetBarColour(colours),
ExpandedSize = 4,
CollapsedSize = 2,
Expanded = true
@ -98,7 +98,7 @@ namespace osu.Game.Overlays
protected virtual string GetInfoText() => string.Empty;
protected abstract Color4 GetBarColour();
protected abstract Color4 GetBarColour(OsuColour colours);
protected virtual float GetWidth() => tab_width;