示例#1
0
        public static void UpdatePlayerTag([NotNull] Player player, [NotNull] PlayerPerks perks, string tagPrefix, string tagColour)
        {
            if (!perks.tag)
            {
                return;
            }

            if (perks.customTag)
            {
                string customTag = TDHPlugin.GetUserCustomTag(player.SteamId);

                if (!string.IsNullOrEmpty(customTag))
                {
                    player.SetRank(color: tagColour, text: string.IsNullOrEmpty(tagPrefix) ? customTag : $"{tagPrefix}{(tagPrefix.EndsWith(" ") ? "" : " ")}{customTag}");
                }
                else if (!string.IsNullOrEmpty(tagPrefix))
                {
                    player.SetRank(color: tagColour, text: tagPrefix.Trim());
                }
            }
            else if (!string.IsNullOrEmpty(tagPrefix))
            {
                player.SetRank(color: tagColour, text: tagPrefix.Trim());
            }
        }
示例#2
0
            public static PlayerPerks FromRoleIds([NotNull] string steamId, [NotNull] string[] roleIds)
            {
                PlayerPerks perks = new PlayerPerks(steamId);

                foreach (string roleId in roleIds)
                {
                    if (!TDHPlugin.Singleton.rolePerks.TryGetValue(roleId, out string rolePerks))
                    {
                        continue;
                    }

                    foreach (char rolePerk in rolePerks)
                    {
                        switch (rolePerk)
                        {
                        case 'T':
                            perks.tag = true;
                            break;

                        case 'C':
                            perks.customTag = true;
                            break;

                        case 'R':
                            perks.reservedSlot = true;
                            break;
                        }
                    }
                }

                return(perks);
            }
示例#3
0
 public static void UpdatePlayerSlot([NotNull] Player player, [NotNull] PlayerPerks perks)
 {
     if (perks.reservedSlot)
     {
         ReservedSlotManager.AddReservedSlot(player);
     }
     else
     {
         ReservedSlotManager.RemoveReservedSlot(player);
     }
 }
示例#4
0
 public static PlayerPerks GetPlayerPerks([NotNull] string steamId)
 {
     string[] userRoles = TDHPlugin.GetUserRoleIds(steamId);
     return(PlayerPerks.FromRoleIds(steamId, userRoles));
 }