2022-06-17 18:02:18 +00:00
|
|
|
// 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;
|
2022-06-17 22:46:37 +00:00
|
|
|
using Newtonsoft.Json;
|
2022-06-17 18:02:18 +00:00
|
|
|
using osu.Game.Online.API.Requests.Responses;
|
|
|
|
using osu.Game.Users;
|
|
|
|
|
|
|
|
namespace osu.Game.Tournament.Models
|
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// A tournament player, containing simple information about the player.
|
|
|
|
/// </summary>
|
|
|
|
[Serializable]
|
|
|
|
public class TournamentPlayer : IUser
|
|
|
|
{
|
2022-06-17 22:46:37 +00:00
|
|
|
[JsonProperty(@"id")]
|
|
|
|
public int OnlineID { get; set; }
|
2022-06-17 18:02:18 +00:00
|
|
|
|
|
|
|
public string Username { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// The player's country.
|
|
|
|
/// </summary>
|
|
|
|
public Country? Country { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// The player's global rank, or null if not available.
|
|
|
|
/// </summary>
|
|
|
|
public int? Rank { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// A URL to the player's profile cover.
|
|
|
|
/// </summary>
|
|
|
|
public string CoverUrl { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
public APIUser ToUser()
|
|
|
|
{
|
|
|
|
var user = new APIUser
|
|
|
|
{
|
2022-06-17 22:46:37 +00:00
|
|
|
Id = OnlineID,
|
2022-06-17 18:02:18 +00:00
|
|
|
Username = Username,
|
|
|
|
Country = Country,
|
|
|
|
CoverUrl = CoverUrl,
|
|
|
|
};
|
|
|
|
|
|
|
|
user.Statistics = new UserStatistics
|
|
|
|
{
|
|
|
|
User = user,
|
|
|
|
GlobalRank = Rank
|
|
|
|
};
|
|
|
|
|
|
|
|
return user;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool IUser.IsBot => false;
|
|
|
|
}
|
|
|
|
}
|