diff --git a/osu.Game/Online/Leaderboards/DrawableRank.cs b/osu.Game/Online/Leaderboards/DrawableRank.cs index b7e8a018ae..9bbaa28e2a 100644 --- a/osu.Game/Online/Leaderboards/DrawableRank.cs +++ b/osu.Game/Online/Leaderboards/DrawableRank.cs @@ -3,8 +3,6 @@ using osu.Framework.Allocation; using osu.Framework.Extensions; -using osu.Framework.Graphics; -using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Textures; using osu.Game.Scoring; @@ -12,28 +10,6 @@ using System; namespace osu.Game.Online.Leaderboards { - public class UpdateableRank : ModelBackedDrawable - { - public ScoreRank Rank - { - get => Model; - set => Model = value; - } - - public UpdateableRank(ScoreRank rank) - { - Rank = rank; - } - - protected override Drawable CreateDrawable(ScoreRank rank) => new DrawableRank(rank) - { - RelativeSizeAxes = Axes.Both, - Anchor = Anchor.Centre, - Origin = Anchor.Centre, - FillMode = FillMode.Fit, - }; - } - public class DrawableRank : Sprite { private readonly ScoreRank rank; diff --git a/osu.Game/Online/Leaderboards/UpdateableRank.cs b/osu.Game/Online/Leaderboards/UpdateableRank.cs new file mode 100644 index 0000000000..64230a92db --- /dev/null +++ b/osu.Game/Online/Leaderboards/UpdateableRank.cs @@ -0,0 +1,31 @@ +// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. +// See the LICENCE file in the repository root for full licence text. + +using osu.Framework.Graphics; +using osu.Framework.Graphics.Containers; +using osu.Game.Scoring; + +namespace osu.Game.Online.Leaderboards +{ + public class UpdateableRank : ModelBackedDrawable + { + public ScoreRank Rank + { + get => Model; + set => Model = value; + } + + public UpdateableRank(ScoreRank rank) + { + Rank = rank; + } + + protected override Drawable CreateDrawable(ScoreRank rank) => new DrawableRank(rank) + { + RelativeSizeAxes = Axes.Both, + Anchor = Anchor.Centre, + Origin = Anchor.Centre, + FillMode = FillMode.Fit, + }; + } +} diff --git a/osu.Game/Users/Drawables/DrawableAvatar.cs b/osu.Game/Users/Drawables/DrawableAvatar.cs index c1992bcbc9..ee3cf6331b 100644 --- a/osu.Game/Users/Drawables/DrawableAvatar.cs +++ b/osu.Game/Users/Drawables/DrawableAvatar.cs @@ -6,7 +6,6 @@ using osu.Framework.Allocation; using osu.Framework.Bindables; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; -using osu.Framework.Graphics.Effects; using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Textures; using osu.Framework.Input.Events; @@ -14,67 +13,6 @@ using osu.Game.Graphics.Containers; namespace osu.Game.Users.Drawables { - /// - /// An avatar which can update to a new user when needed. - /// - public class UpdateableAvatar : ModelBackedDrawable - { - public User User - { - get => Model; - set => Model = value; - } - - public new bool Masking - { - get => base.Masking; - set => base.Masking = value; - } - - public new float CornerRadius - { - get => base.CornerRadius; - set => base.CornerRadius = value; - } - - public new EdgeEffectParameters EdgeEffect - { - get => base.EdgeEffect; - set => base.EdgeEffect = value; - } - - /// - /// Whether to show a default guest representation on null user (as opposed to nothing). - /// - public bool ShowGuestOnNull = true; - - /// - /// Whether to open the user's profile when clicked. - /// - public readonly BindableBool OpenOnClick = new BindableBool(true); - - public UpdateableAvatar(User user = null) - { - User = user; - } - - protected override Drawable CreateDrawable(User user) - { - if (user == null && !ShowGuestOnNull) - return null; - - var avatar = new DrawableAvatar(user) - { - RelativeSizeAxes = Axes.Both, - }; - - avatar.OnLoadComplete += d => d.FadeInFromZero(300, Easing.OutQuint); - avatar.OpenOnClick.BindTo(OpenOnClick); - - return avatar; - } - } - public class DrawableAvatar : Container { /// diff --git a/osu.Game/Users/Drawables/DrawableFlag.cs b/osu.Game/Users/Drawables/DrawableFlag.cs index 6f259d3253..368354e48e 100644 --- a/osu.Game/Users/Drawables/DrawableFlag.cs +++ b/osu.Game/Users/Drawables/DrawableFlag.cs @@ -3,33 +3,12 @@ using System; using osu.Framework.Allocation; -using osu.Framework.Graphics; -using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Cursor; using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Textures; namespace osu.Game.Users.Drawables { - public class UpdateableFlag : ModelBackedDrawable - { - public Country Country - { - get => Model; - set => Model = value; - } - - public UpdateableFlag(Country country = null) - { - Country = country; - } - - protected override Drawable CreateDrawable(Country country) => new DrawableFlag(country) - { - RelativeSizeAxes = Axes.Both, - }; - } - public class DrawableFlag : Sprite, IHasTooltip { private readonly Country country; diff --git a/osu.Game/Users/Drawables/UpdateableAvatar.cs b/osu.Game/Users/Drawables/UpdateableAvatar.cs new file mode 100644 index 0000000000..795b90ba11 --- /dev/null +++ b/osu.Game/Users/Drawables/UpdateableAvatar.cs @@ -0,0 +1,71 @@ +// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. +// See the LICENCE file in the repository root for full licence text. + +using osu.Framework.Bindables; +using osu.Framework.Graphics; +using osu.Framework.Graphics.Containers; +using osu.Framework.Graphics.Effects; + +namespace osu.Game.Users.Drawables +{ + /// + /// An avatar which can update to a new user when needed. + /// + public class UpdateableAvatar : ModelBackedDrawable + { + public User User + { + get => Model; + set => Model = value; + } + + public new bool Masking + { + get => base.Masking; + set => base.Masking = value; + } + + public new float CornerRadius + { + get => base.CornerRadius; + set => base.CornerRadius = value; + } + + public new EdgeEffectParameters EdgeEffect + { + get => base.EdgeEffect; + set => base.EdgeEffect = value; + } + + /// + /// Whether to show a default guest representation on null user (as opposed to nothing). + /// + public bool ShowGuestOnNull = true; + + /// + /// Whether to open the user's profile when clicked. + /// + public readonly BindableBool OpenOnClick = new BindableBool(true); + + public UpdateableAvatar(User user = null) + { + User = user; + } + + protected override Drawable CreateDrawable(User user) + { + if (user == null && !ShowGuestOnNull) + return null; + + var avatar = new DrawableAvatar(user) + { + RelativeSizeAxes = Axes.Both, + }; + + avatar.OnLoadComplete += d => d.FadeInFromZero(300, Easing.OutQuint); + avatar.OpenOnClick.BindTo(OpenOnClick); + + return avatar; + } + } +} diff --git a/osu.Game/Users/Drawables/UpdateableFlag.cs b/osu.Game/Users/Drawables/UpdateableFlag.cs new file mode 100644 index 0000000000..a3b1c6acba --- /dev/null +++ b/osu.Game/Users/Drawables/UpdateableFlag.cs @@ -0,0 +1,27 @@ +// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. +// See the LICENCE file in the repository root for full licence text. + +using osu.Framework.Graphics; +using osu.Framework.Graphics.Containers; + +namespace osu.Game.Users.Drawables +{ + public class UpdateableFlag : ModelBackedDrawable + { + public Country Country + { + get => Model; + set => Model = value; + } + + public UpdateableFlag(Country country = null) + { + Country = country; + } + + protected override Drawable CreateDrawable(Country country) => new DrawableFlag(country) + { + RelativeSizeAxes = Axes.Both, + }; + } +}