Browse Source

创建房间传入类型修改

develop
杨栋梁 3 years ago
parent
commit
620c6d39fa
  1. 27
      AX.WebDrillServer/Hubs/FireDeductionHub.cs
  2. 4
      AX.WebDrillServer/Services/FireDeductionHub/RoomCreateDto.cs
  3. 1
      AX.WebDrillServer/Services/FireDeductionHub/RoomManager.cs

27
AX.WebDrillServer/Hubs/FireDeductionHub.cs

@ -43,14 +43,19 @@ namespace AX.WebDrillServer.Hubs
{ {
return roomManager.GetUserByConnectionId(connectionId); return roomManager.GetUserByConnectionId(connectionId);
} }
/// <summary>
/// 创建房间
/// </summary>
/// <param name="createInfo"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public async Task<RoomCreateResultData> CallServer_CreateRoom(RoomCreateDto createInfo) public async Task<RoomCreateResultData> CallServer_CreateRoom(RoomCreateDto createInfo)
{ {
try try
{ {
RoomCreateResultData resultData = new RoomCreateResultData(); RoomCreateResultData resultData = new RoomCreateResultData();
var user = roomManager.GetUser(createInfo.UserId); var user = roomManager.GetUser(createInfo.UserId);
if (user == null) if (user == null)//如果查询不到创建房间的用户
{ {
resultData.RoomCreateResult = RoomCreateResult.; resultData.RoomCreateResult = RoomCreateResult.;
return resultData; return resultData;
@ -58,8 +63,8 @@ namespace AX.WebDrillServer.Hubs
FireDeductionRoom room = new FireDeductionRoom(); FireDeductionRoom room = new FireDeductionRoom();
room.Owner = createInfo.UserId; room.Owner = createInfo.UserId;
room.RoomId = Guid.NewGuid().ToString(); room.RoomId = Guid.NewGuid().ToString();
room.RoomName = createInfo.RoomName; room.RoomName = createInfo.Name == null ? "未命名房间" : createInfo.Name;
room.Password = createInfo.RoomPassword; room.Password = createInfo.Password;
roomManager.AddRoom(room); roomManager.AddRoom(room);
user.RoomId = room.RoomId; user.RoomId = room.RoomId;
@ -77,16 +82,20 @@ namespace AX.WebDrillServer.Hubs
throw new Exception(ex.Message); throw new Exception(ex.Message);
} }
} }
public async Task<bool> EnterRoom(string roomId, FireDeductionUser user, string? password = null) public bool CallServer_EnterRoom(string roomId, FireDeductionUser user, string? password = null)
{ {
bool result = false; bool result = false;
try
{
var room = roomManager.GetRoom(roomId); var room = roomManager.GetRoom(roomId);
if (room != null && room.Password == password) if (room != null && room.Password == password)
{ {
if (!room.Users.Contains(user)) if (!room.Users.Contains(user))
{ {
result = true; result = true;
room.Users.Add(user);
user.RoomId = room.RoomId;
} }
else else
{ {
@ -97,8 +106,12 @@ namespace AX.WebDrillServer.Hubs
{ {
throw new NotImplementedException("房间信息有误!"); throw new NotImplementedException("房间信息有误!");
} }
}
catch (Exception)
{
throw;
}
return result; return result;
} }

4
AX.WebDrillServer/Services/FireDeductionHub/RoomCreateDto.cs

@ -3,7 +3,7 @@
public class RoomCreateDto public class RoomCreateDto
{ {
public string UserId { get; set; } = null!; public string UserId { get; set; } = null!;
public string? RoomPassword { get; set; } public string? Password { get; set; }
public string RoomName { get; set; } = null!; public string Name { get; set; } = null!;
} }
} }

1
AX.WebDrillServer/Services/FireDeductionHub/RoomManager.cs

@ -2,7 +2,6 @@
{ {
public class RoomManager public class RoomManager
{ {
private List<FireDeductionRoom> fireDeductionRooms = new List<FireDeductionRoom>(); private List<FireDeductionRoom> fireDeductionRooms = new List<FireDeductionRoom>();
private List<FireDeductionUser> fireDeductionUsers = new List<FireDeductionUser>(); private List<FireDeductionUser> fireDeductionUsers = new List<FireDeductionUser>();

Loading…
Cancel
Save