12345678910111213141516171819202122232425262728293031323334353637383940 |
- using System.Linq;
- using System.Threading.Tasks;
- using MafiaTelegramBot.Game.GameRooms;
- using MafiaTelegramBot.Models;
- using MafiaTelegramBot.Resources;
- using Telegram.Bot.Types;
- namespace MafiaTelegramBot.Game.GameRoles
- {
- public class MafiaRole : GameRoom.Role
- {
- public override Roles RoleKey => Roles.Mafia;
- public override async Task NightAction()
- {
- NightTargetId = -1;
- Player.IsSpeaker = true;
- var targets = Room.Players.Values.Where(p => p.IsAlive).ToList();
- var message = await Bot.SendWithMarkdown2(Player.ChatId, strings.choose_player_to_kill,
- Keyboard.NightChooseTargetKeyboard(targets, Player.Id, true));
- MessageId = message.MessageId;
- }
- public override Task ApplyNightActionResult() { return Task.CompletedTask; }
- public override Task CancelNightActionResult(string message)
- {
- //TODO why action canceled
- return Task.CompletedTask;
- }
- public override async Task<Message> SetNightTarget(long userId)
- {
- NightTargetId = userId;
- return await Bot.Get().EditMessageTextAsync(Player.ChatId, MessageId, $"{strings.you_choose_target} {Room.Players[userId].NickName}");
- }
- public MafiaRole(GameRoom room, Player player) : base(room, player) { }
- }
- }
|