private string GetLeaders(CTypes type) { var listNames = $" -- {configData.Messaging.MSG_ColorMain}{MSG(type.ToString().ToLower()).ToUpper()}</color>\n\n"; var userStats = new Dictionary <string, int>(); foreach (var entry in statCache) { var name = entry.Value.DisplayName; if (userStats.ContainsKey(entry.Value.DisplayName)) { name += $"({UnityEngine.Random.Range(0, 1000)})"; } userStats.Add(name, entry.Value.Stats[type]); } var leaders = userStats.OrderByDescending(a => a.Value).Take(25); int i = 1; foreach (var entry in leaders) { listNames += $"{i}. - {configData.Messaging.MSG_ColorMain}{entry.Value}</color> - {entry.Key}\n"; i++; } return(listNames); }
private void SwitchLeader(ulong ID, CTypes type) { if (configData.Options.UseBetterChat && BetterChat) { var name = GetGroupName(type); if (UserInGroup(titleCache[type].UserID.ToString(), name)) { RemoveFromGroup(titleCache[type].UserID.ToString(), name); } AddToGroup(ID.ToString(), name); } titleCache[type] = new LeaderData { Count = statCache[ID].Stats[type], DisplayName = statCache[ID].DisplayName, UserID = ID }; if (configData.Options.AnnounceNewLeaders) { string message = MSG("newLeader", ID.ToString()) .Replace("{playername}", $"{configData.Messaging.MSG_ColorMain}{statCache[ID].DisplayName}</color>{configData.Messaging.MSG_ColorMsg}") .Replace("{ctype}", $"</color>{configData.Messaging.MSG_ColorMain}{MSG(type.ToString().ToLower(), ID.ToString())}</color>"); PrintToChat(message); } }