osu/osu.Game/Users/Avatar.cs

47 lines
1.4 KiB
C#
Raw Normal View History

// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
2017-11-07 21:49:32 +00:00
using System;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.Textures;
namespace osu.Game.Users
{
public class Avatar : Container
{
private readonly User user;
/// <summary>
/// An avatar for specified user.
/// </summary>
/// <param name="user">The user. A null value will get a placeholder avatar.</param>
2017-03-28 05:24:21 +00:00
public Avatar(User user = null)
{
this.user = user;
2017-03-15 08:04:50 +00:00
}
2017-03-28 05:24:21 +00:00
[BackgroundDependencyLoader]
private void load(TextureStore textures)
2017-03-15 08:04:50 +00:00
{
2017-11-07 21:49:32 +00:00
if (textures == null)
throw new ArgumentNullException(nameof(textures));
2017-03-28 05:24:21 +00:00
Texture texture = null;
if (user != null && user.Id > 1) texture = textures.Get($@"https://a.ppy.sh/{user.Id}");
2017-03-28 05:24:21 +00:00
if (texture == null) texture = textures.Get(@"Online/avatar-guest");
2017-03-15 08:04:50 +00:00
2017-03-28 05:24:21 +00:00
Add(new Sprite
{
RelativeSizeAxes = Axes.Both,
2017-03-28 05:24:21 +00:00
Texture = texture,
FillMode = FillMode.Fit,
Anchor = Anchor.Centre,
Origin = Anchor.Centre
});
}
}
}