1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- using MafiaTelegramBot.Controllers;
- using MafiaTelegramBot.Game;
- using MafiaTelegramBot.Resources;
- using Telegram.Bot.Types;
- namespace MafiaTelegramBot.Commands.CallbackQueries
- {
- public class ShowMyRolesCallbackQueryHandler : CallbackQueryHandler
- {
- protected override string Command => Callback.ShowMyRoles.ToString();
- public override async Task<Message> Execute(Update update)
- {
- var opened = User.OpenedRoles.ToList();
- var tier2 = Utilities.TierDictionary[2].Intersect(opened).ToList();
- var tier3 = Utilities.TierDictionary[3].Intersect(opened).ToList();
- var tier4 = Utilities.TierDictionary[4].Intersect(opened).ToList();
- var tier5 = Utilities.TierDictionary[5].Intersect(opened).ToList();
- var message = $"{strings.opened_roles}:";
- if (Utilities.TierDictionary[0].Count > 0)
- message += AddMessage(Utilities.TierDictionary[0], strings.classic);
- if (tier2.Count > 0)
- message += AddMessage(tier2, strings.rare);
- if (tier3.Count > 0)
- message += AddMessage(tier3, strings.mythic);
- if (tier4.Count > 0)
- message += AddMessage(tier4, strings.epic);
- if (tier5.Count > 0)
- message += AddMessage(tier5, strings.legendary);
- return await MessageController.EditMessage(User.Info,
- update.CallbackQuery.Message.MessageId, message, Keyboard.BackButton());
- }
- private static string AddMessage(List<Roles> list, string rarity)
- {
- var result = $"\n\n{strings.rarity}: {rarity}";
- foreach (var role in list)
- result += $"\n{roles.ResourceManager.GetString(role.ToString())}";
- return result;
- }
- public ShowMyRolesCallbackQueryHandler(Player player) : base(player) { }
- }
- }
|