public void Add(LeaderboardEntry entry) { if (scores.Count == 0) { scores.Add(entry); return; } bool added = false; for (int i = 0; i < scores.Count; ++i) { if (entry.Score > scores[i].Score) { scores.Insert(i, entry); added = true; break; } } if (!added && scores.Count < MaxSize) { scores.Add(entry); } if (scores.Count > MaxSize) { scores.RemoveRange(MaxSize, scores.Count - MaxSize); } }
public bool TryAdd(LeaderboardEntry entry) { if (scores.Count < MaxSize || entry.Score > LastOrDefault().Score) { Add(entry); return(true); } return(false); }
public static bool TryAdd(LeaderboardEntry entry) { if (content.TryAdd(entry)) { WriteLeaderboard(); return(true); } else { return(false); } }