private void SwitchLeaderboardFilter() { if (mode == LeaderboardMode.Overall) { mode = LeaderboardMode.MyScore; } else if (mode == LeaderboardMode.MyScore) { mode = LeaderboardMode.Friends; } else if (mode == LeaderboardMode.Friends) { mode = LeaderboardMode.Overall; } LoadLeaderboard(); }
public static async Task <Score[]> GetRawScores(string beatmapMd5, PlayMode mode, RankedStatus status, LeaderboardMode lbMode) { IEnumerable <DbScore> scores = null; await using (var db = MySqlProvider.GetDbConnection()) { scores = await db.QueryAsync <DbScore>($"SELECT *, Scores.Id AS Id FROM Scores " + $"JOIN Users ON Users.Id = Scores.UserId " + $"WHERE Users.Privileges & {(int) Privileges.Normal} > 0 " + $"AND FileChecksum = '{beatmapMd5}' " + $"AND Completed = {(int) CompletedStatus.Best} " + $"AND PlayMode = {(int) mode} " + $"AND Relaxing = {lbMode == LeaderboardMode.Relax} " + $"ORDER BY {(lbMode == LeaderboardMode.Relax ? "PerformancePoints" : "TotalScore")} DESC " + $"LIMIT 50"); } var dbScores = scores as DbScore[] ?? scores.ToArray(); return(dbScores.Select(score => FromDb(score, status, dbScores)).ToArray()); }
public MNWSInfoRequestLeaderboard(LeaderboardMode mode,OnCompleted onCompleted) : base() { this.Parameters["LeaderboardMode"] = mode.GetParametersDictionary(); this.OnCompletedDelegate = onCompleted; }
public void InitializeData() { mode = LeaderboardMode.Overall; SelectedLeaderboard = Leaderboard.DISTANCE; LoadLeaderboard(); }