|
@@ -2,6 +2,7 @@ using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using System.Threading.Tasks;
|
|
using MafiaTelegramBot.Game;
|
|
using MafiaTelegramBot.Game;
|
|
|
|
+using MafiaTelegramBot.Game.GameRoles;
|
|
using MafiaTelegramBot.Game.GameRooms;
|
|
using MafiaTelegramBot.Game.GameRooms;
|
|
using MafiaTelegramBot.Models;
|
|
using MafiaTelegramBot.Models;
|
|
using MafiaTelegramBot.Resources;
|
|
using MafiaTelegramBot.Resources;
|
|
@@ -37,7 +38,7 @@ namespace MafiaTelegramBot.Controllers
|
|
if (!player.SetRoomName(roomName)) return ResultCode.UserAlreadyInGame;
|
|
if (!player.SetRoomName(roomName)) return ResultCode.UserAlreadyInGame;
|
|
if (OpenedGames[roomKey].IsFilled()) return ResultCode.RoomIsFilled;
|
|
if (OpenedGames[roomKey].IsFilled()) return ResultCode.RoomIsFilled;
|
|
OpenedGames[roomKey].Players.Add(player.Id, player);
|
|
OpenedGames[roomKey].Players.Add(player.Id, player);
|
|
- await OpenedGames[roomKey].NotifyPlayersAbout(player.Id, $"{player.NickName} {strings.connected_to_game}");
|
|
|
|
|
|
+ await OpenedGames[roomKey].PlayersCh.SendExcept(player.Id, $"{player.NickName} {strings.connected_to_game}");
|
|
return ResultCode.CodeOk;
|
|
return ResultCode.CodeOk;
|
|
});
|
|
});
|
|
}
|
|
}
|
|
@@ -54,8 +55,13 @@ namespace MafiaTelegramBot.Controllers
|
|
var roomName = player.GetRoomName();
|
|
var roomName = player.GetRoomName();
|
|
var roomKey = RoomEncrypter.GetCode(roomName);
|
|
var roomKey = RoomEncrypter.GetCode(roomName);
|
|
if (!await player.RemoveGame()) return ResultCode.UserNotInGame;
|
|
if (!await player.RemoveGame()) return ResultCode.UserNotInGame;
|
|
|
|
+ player.IsPlaying = false;
|
|
|
|
+ player.IsSpeaker = false;
|
|
|
|
+ player.IsAlive = true;
|
|
|
|
+ player.CurrentRole = new NoneRole();
|
|
|
|
+ player.TurnOrder = -1;
|
|
OpenedGames[roomKey].Players.Remove(player.Id);
|
|
OpenedGames[roomKey].Players.Remove(player.Id);
|
|
- await OpenedGames[roomKey].NotifyPlayersAbout(player.Id, $"{player.NickName} {strings.leave_from_game}");
|
|
|
|
|
|
+ await OpenedGames[roomKey].PlayersCh.SendExcept(player.Id, $"{player.NickName} {strings.leave_from_game}");
|
|
if (OpenedGames[roomKey].Players.Count >= 0) return ResultCode.CodeOk;
|
|
if (OpenedGames[roomKey].Players.Count >= 0) return ResultCode.CodeOk;
|
|
RoomEncrypter.RemoveCode(roomName);
|
|
RoomEncrypter.RemoveCode(roomName);
|
|
OpenedGames.Remove(roomKey);
|
|
OpenedGames.Remove(roomKey);
|