diff --git a/App.config b/App.config
index 37e3262..9f64160 100644
--- a/App.config
+++ b/App.config
@@ -1,10 +1,16 @@
-
+
-
-
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Model/RoomModel.cs b/Model/RoomModel.cs
index 4940f1e..ca6f3ba 100644
--- a/Model/RoomModel.cs
+++ b/Model/RoomModel.cs
@@ -10,7 +10,10 @@ namespace OnlineUserPool.Model
public int RoomId { get; set; }
public string Name { get; set; }
public int UserId { get; set; }//房主
- public int Status { get; set; }//房间状态 0 :准备状态 1:开始loading 2:结束
+ ///
+ /// 房间状态 0 :准备状态 1:开始loading 2:结束
+ ///
+ public int Status { get; set; }
public DateTime StatusChangedTime { get; set; }
public DateTime CreateTime { get; set; }//创建时间
public DateTime? StartTime { get; set; }//开始时间
diff --git a/Unility/ConfigHelp.cs b/Unility/ConfigHelp.cs
index e065fa3..bf99ff0 100644
--- a/Unility/ConfigHelp.cs
+++ b/Unility/ConfigHelp.cs
@@ -34,6 +34,15 @@ namespace OnlineUserPool.Unility
UdpPort = int.Parse(System.Configuration.ConfigurationManager.AppSettings["Port"]);
TcpPort = int.Parse(System.Configuration.ConfigurationManager.AppSettings["TcpPort"]);
+#if DEBUG
+ Host = System.Configuration.ConfigurationManager.AppSettings["DevHost"];
+ //Top = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["Top"]);
+ ShowVirtualUser = bool.Parse(System.Configuration.ConfigurationManager.AppSettings["DevShowVirtualUser"]);
+ //Ip = System.Configuration.ConfigurationManager.AppSettings["Ip"];
+ UdpPort = int.Parse(System.Configuration.ConfigurationManager.AppSettings["DevPort"]);
+
+ TcpPort = int.Parse(System.Configuration.ConfigurationManager.AppSettings["DevTcpPort"]);
+#endif
}
}
}
diff --git a/ViewModels/MainWindowViewModel.cs b/ViewModels/MainWindowViewModel.cs
index 76c311d..3d8d955 100644
--- a/ViewModels/MainWindowViewModel.cs
+++ b/ViewModels/MainWindowViewModel.cs
@@ -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();
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));
//更新房间信息