mirror of
https://github.com/ppy/osu.git
synced 2025-01-14 19:22:56 +08:00
commit
a33f006b37
@ -21,19 +21,16 @@ namespace osu.Game.Online.API.Requests
|
|||||||
protected override WebRequest CreateWebRequest()
|
protected override WebRequest CreateWebRequest()
|
||||||
{
|
{
|
||||||
var req = base.CreateWebRequest();
|
var req = base.CreateWebRequest();
|
||||||
req.AddParameter(@"c", beatmap.Hash);
|
//req.AddParameter(@"c", beatmap.Hash);
|
||||||
req.AddParameter(@"f", beatmap.Path);
|
//req.AddParameter(@"f", beatmap.Path);
|
||||||
return req;
|
return req;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override string Target => @"beatmaps/scores";
|
protected override string Target => $@"beatmaps/{beatmap.OnlineBeatmapID}/scores";
|
||||||
}
|
}
|
||||||
|
|
||||||
public class GetScoresResponse
|
public class GetScoresResponse
|
||||||
{
|
{
|
||||||
[JsonProperty(@"beatmap")]
|
|
||||||
public BeatmapInfo Beatmap;
|
|
||||||
|
|
||||||
[JsonProperty(@"scores")]
|
[JsonProperty(@"scores")]
|
||||||
public IEnumerable<Score> Scores;
|
public IEnumerable<Score> Scores;
|
||||||
}
|
}
|
||||||
|
@ -19,32 +19,24 @@ namespace osu.Game.Rulesets.Scoring
|
|||||||
|
|
||||||
[JsonProperty(@"score")]
|
[JsonProperty(@"score")]
|
||||||
public double TotalScore { get; set; }
|
public double TotalScore { get; set; }
|
||||||
public double Accuracy { get; set; }
|
|
||||||
public double Health { get; set; }
|
|
||||||
|
|
||||||
[JsonProperty(@"maxcombo")]
|
[JsonProperty(@"accuracy")]
|
||||||
|
public double Accuracy { get; set; }
|
||||||
|
|
||||||
|
public double Health { get; set; } = 1;
|
||||||
|
|
||||||
|
[JsonProperty(@"combo")]
|
||||||
public int MaxCombo { get; set; }
|
public int MaxCombo { get; set; }
|
||||||
|
|
||||||
public int Combo { get; set; }
|
public int Combo { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty(@"mods")]
|
||||||
|
protected string[] ModStrings { get; set; } //todo: parse to Mod objects
|
||||||
|
|
||||||
public Mod[] Mods { get; set; }
|
public Mod[] Mods { get; set; }
|
||||||
|
|
||||||
private User user;
|
[JsonProperty(@"user")]
|
||||||
|
public User User;
|
||||||
public User User
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return user ?? new User
|
|
||||||
{
|
|
||||||
Username = LegacyUsername,
|
|
||||||
Id = LegacyUserID
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
set
|
|
||||||
{
|
|
||||||
user = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[JsonProperty(@"replay_data")]
|
[JsonProperty(@"replay_data")]
|
||||||
public Replay Replay;
|
public Replay Replay;
|
||||||
@ -54,13 +46,7 @@ namespace osu.Game.Rulesets.Scoring
|
|||||||
[JsonProperty(@"score_id")]
|
[JsonProperty(@"score_id")]
|
||||||
public long OnlineScoreID;
|
public long OnlineScoreID;
|
||||||
|
|
||||||
[JsonProperty(@"username")]
|
[JsonProperty(@"created_at")]
|
||||||
public string LegacyUsername;
|
|
||||||
|
|
||||||
[JsonProperty(@"user_id")]
|
|
||||||
public long LegacyUserID;
|
|
||||||
|
|
||||||
[JsonProperty(@"date")]
|
|
||||||
public DateTime Date;
|
public DateTime Date;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -20,9 +20,12 @@ namespace osu.Game.Screens.Play
|
|||||||
|
|
||||||
const int granularity = 200;
|
const int granularity = 200;
|
||||||
|
|
||||||
var lastHit = ((objects.Last() as IHasEndTime)?.EndTime ?? objects.Last().StartTime) + 1;
|
var lastHit = (objects.Last() as IHasEndTime)?.EndTime ?? 0;
|
||||||
|
|
||||||
var interval = lastHit / granularity;
|
if (lastHit == 0)
|
||||||
|
lastHit = objects.Last().StartTime;
|
||||||
|
|
||||||
|
var interval = (lastHit + 1) / granularity;
|
||||||
|
|
||||||
var values = new int[granularity];
|
var values = new int[granularity];
|
||||||
|
|
||||||
@ -31,7 +34,7 @@ namespace osu.Game.Screens.Play
|
|||||||
IHasEndTime end = h as IHasEndTime;
|
IHasEndTime end = h as IHasEndTime;
|
||||||
|
|
||||||
int startRange = (int)(h.StartTime / interval);
|
int startRange = (int)(h.StartTime / interval);
|
||||||
int endRange = (int)((end?.EndTime ?? h.StartTime) / interval);
|
int endRange = (int)((end?.EndTime > 0 ? end.EndTime : h.StartTime) / interval);
|
||||||
for (int i = startRange; i <= endRange; i++)
|
for (int i = startRange; i <= endRange; i++)
|
||||||
values[i]++;
|
values[i]++;
|
||||||
}
|
}
|
||||||
|
@ -204,7 +204,7 @@ namespace osu.Game.Screens.Select.Leaderboards
|
|||||||
Children = new Drawable[]
|
Children = new Drawable[]
|
||||||
{
|
{
|
||||||
maxCombo = new ScoreComponentLabel(FontAwesome.fa_link, Score.MaxCombo.ToString()),
|
maxCombo = new ScoreComponentLabel(FontAwesome.fa_link, Score.MaxCombo.ToString()),
|
||||||
accuracy = new ScoreComponentLabel(FontAwesome.fa_crosshairs, string.Format(Score.Accuracy % 1 == 0 ? @"{0:0}" : @"{0:0.00}", Score.Accuracy)),
|
accuracy = new ScoreComponentLabel(FontAwesome.fa_crosshairs, string.Format(Score.Accuracy % 1 == 0 ? @"{0:P0}" : @"{0:P2}", Score.Accuracy)),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
|
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
|
||||||
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
|
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
|
||||||
|
|
||||||
|
using Newtonsoft.Json;
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Framework.Graphics;
|
using osu.Framework.Graphics;
|
||||||
using osu.Framework.Graphics.Containers;
|
using osu.Framework.Graphics.Containers;
|
||||||
@ -14,6 +15,7 @@ namespace osu.Game.Users
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// The name of this country.
|
/// The name of this country.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty(@"name")]
|
||||||
public string FullName;
|
public string FullName;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -24,6 +26,7 @@ namespace osu.Game.Users
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Two-letter flag acronym (ISO 3166 standard)
|
/// Two-letter flag acronym (ISO 3166 standard)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty(@"code")]
|
||||||
public string FlagName;
|
public string FlagName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,11 +13,33 @@ namespace osu.Game.Users
|
|||||||
[JsonProperty(@"username")]
|
[JsonProperty(@"username")]
|
||||||
public string Username;
|
public string Username;
|
||||||
|
|
||||||
|
//[JsonProperty(@"country")]
|
||||||
|
[JsonIgnore]
|
||||||
public Country Country;
|
public Country Country;
|
||||||
|
|
||||||
public Team Team;
|
//public Team Team;
|
||||||
|
|
||||||
[JsonProperty(@"colour")]
|
[JsonProperty(@"colour")]
|
||||||
public string Colour;
|
public string Colour;
|
||||||
|
|
||||||
|
[JsonProperty(@"avatarUrl")]
|
||||||
|
public string AvatarUrl;
|
||||||
|
|
||||||
|
[JsonProperty(@"cover")]
|
||||||
|
public UserCover Cover;
|
||||||
|
|
||||||
|
public class UserCover
|
||||||
|
{
|
||||||
|
[JsonProperty(@"customUrl")]
|
||||||
|
public string CustomUrl;
|
||||||
|
|
||||||
|
[JsonProperty(@"url")]
|
||||||
|
public string Url;
|
||||||
|
|
||||||
|
[JsonProperty(@"id")]
|
||||||
|
public int? Id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user