mirror of
https://github.com/ppy/osu.git
synced 2024-11-12 10:17:32 +08:00
63 lines
1.6 KiB
C#
63 lines
1.6 KiB
C#
// 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 Humanizer;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace osu.Game.Online.API.Requests.Responses
|
|
{
|
|
public class APIKudosuHistory
|
|
{
|
|
[JsonProperty("created_at")]
|
|
public DateTimeOffset CreatedAt;
|
|
|
|
[JsonProperty("amount")]
|
|
private int amount
|
|
{
|
|
//We can receive negative values. However "action" is enough to build needed items
|
|
set => Amount = Math.Abs(value);
|
|
}
|
|
|
|
public int Amount;
|
|
|
|
[JsonProperty("post")]
|
|
public ModdingPost Post;
|
|
|
|
public class ModdingPost
|
|
{
|
|
[JsonProperty("url")]
|
|
public string Url;
|
|
|
|
[JsonProperty("title")]
|
|
public string Title;
|
|
}
|
|
|
|
[JsonProperty("giver")]
|
|
public KudosuGiver Giver;
|
|
|
|
public class KudosuGiver
|
|
{
|
|
[JsonProperty("url")]
|
|
public string Url;
|
|
|
|
[JsonProperty("username")]
|
|
public string Username;
|
|
}
|
|
|
|
[JsonProperty("action")]
|
|
private string action
|
|
{
|
|
set
|
|
{
|
|
//We will receive something like "foo.bar" or just "foo"
|
|
string parsed = value.Contains(".") ? value.Split('.')[0].Pascalize() + value.Split('.')[1].Pascalize() : value.Pascalize();
|
|
|
|
Action = (KudosuAction)Enum.Parse(typeof(KudosuAction), parsed);
|
|
}
|
|
}
|
|
|
|
public KudosuAction Action;
|
|
}
|
|
}
|