Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
            }
        }