对战房间

This commit is contained in:
lishuo committed 2023-02-10 09:43:04 +08:00
1 parent bc0499b9f4
commit b51bac2abe
4 files changed
+32 -10

No files matched your search

+9 -5
View File
@@ -387,15 +387,19 @@ namespace OnlineUserPool.ViewModels
private void HandleCreateGameRoom(ReceiveModel msg)
{
var createMsg = msg as CreateGameRoomCommand;
RemoveOtherRoomInfo(createMsg.UserId);
RemoveOtherRoomInfo(createMsg.UserId, createMsg.Id);
var roomId = RoomMaxId + 1;
var list = new List<RoomDetailModel>();
list.Add(new RoomDetailModel()
{
RoomId = roomId,
UserId = createMsg.UserId,
JoinAt = DateTime.Now.ToUniversalTime(),
IsOwner = true,
});
var roomId = RoomMaxId + 1;
var room = new RoomModel
{
RoomId = roomId,
@@ -427,9 +431,9 @@ namespace OnlineUserPool.ViewModels
RoomMaxId = room.RoomId;
}
//先移除当前用户在其他房间的信息(考虑服务器重启的时候没有响应客户端退出命令)
private void RemoveOtherRoomInfo(int userId)
private void RemoveOtherRoomInfo(int userId, int roomId)
{
var preRoom = RoomList.ToList().Where(c => c.Status == 0 && c.List.Where(c => c.UserId == userId).Any()).FirstOrDefault();
var preRoom = RoomList.ToList().Where(c => c.Status == 0 && c.List.Where(c => c.UserId == userId).Any() && c.RoomId != roomId).FirstOrDefault();
if (preRoom != null)
{
var needRemove = preRoom.List.Where(c => c.UserId == userId).FirstOrDefault();
@@ -446,7 +450,7 @@ namespace OnlineUserPool.ViewModels
private void HandleJoinGameRoom(ReceiveModel msg)
{
var msg1 = msg as JoinGameRoomCommand;
RemoveOtherRoomInfo(msg1.UserId);
RemoveOtherRoomInfo(msg1.UserId,msg1.RoomId);
var room = RoomList.ToList().Where(c => c.RoomId == msg1.RoomId).FirstOrDefault();
var client = Clients.FirstOrDefault(n => n.MemberId.Equals(msg1.UserId));
//更新房间信息