public static IEnumerable <LeaderboardDataEntry> GetDataLeaderboard() { lock (LeaderBoardDataLocker) { return(DataLeaderboard.Select(d => d).ToList()); } }
public static void ClearLeaderboard() { while (!DataLeaderboard.IsEmpty) { DataLeaderboard.TryTake(out _); } }
//public static void ClearLeaderboardData() //{ // lock (_leaderBoardDataLocker) // { // _dataLeaderboard = new ConcurrentBag<LeaderboardDataEntry>(); // } //} public static void Update(IEnumerable <LeaderboardDataEntry> entries) { if (entries is null) { throw new System.ArgumentNullException(nameof(entries)); } lock (LeaderBoardDataLocker) { ClearLeaderboard(); entries.ToList().ForEach(e => DataLeaderboard.Add(e)); } }