|
|
|
@ -152,6 +152,12 @@ namespace AX.WebDrillServer.Hubs
|
|
|
|
|
//通知web端刷新房间用户列表 |
|
|
|
|
await Clients.Group(room.RoomId).SendAsync("callWeb_changeRoomate", data); |
|
|
|
|
|
|
|
|
|
//如果演练已经开始用户加入到演练的用户列表中 |
|
|
|
|
if (room.Drills.Count > 0) |
|
|
|
|
{ |
|
|
|
|
room.Drills[room.Drills.Count - 1].Users.Add(user); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
resultData.RoomId = room.RoomId; |
|
|
|
|
resultData.EnterResult = RoomEnterResult.Success; |
|
|
|
|
return resultData; |
|
|
|
@ -296,8 +302,8 @@ namespace AX.WebDrillServer.Hubs
|
|
|
|
|
EndTime = DateTime.Now.Ticks, //Ticks是一个以0 .1纳秒为单位的时间戳 |
|
|
|
|
}; |
|
|
|
|
room.State = RoomState.Over; |
|
|
|
|
room.Drills[room.Drills.Count - 1].EndTime = resultData.EndData.EndTime; |
|
|
|
|
room.Drills[room.Drills.Count - 1].DrillState = DrillState.Over; |
|
|
|
|
room.Drills[room!.Drills.Count - 1].EndTime = resultData.EndData.EndTime; |
|
|
|
|
room.Drills[room!.Drills.Count - 1].DrillState = DrillState.Over; |
|
|
|
|
|
|
|
|
|
await Clients.Group(room.RoomId).SendAsync("CallWeb_EndDrill", resultData); |
|
|
|
|
return resultData; |
|
|
|
@ -329,17 +335,24 @@ namespace AX.WebDrillServer.Hubs
|
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
//计算DrillTime |
|
|
|
|
DrillShowData resultData = new() |
|
|
|
|
if (room.Drills.Count > 0) |
|
|
|
|
{ |
|
|
|
|
DrillTime = room.Drills[room.Drills.Count - 1].GetDrillLastTime(), |
|
|
|
|
Name = room.Drills[room.Drills.Count - 1].DrillName, |
|
|
|
|
Owner = roomManager.GetUser(room.Owner)!, |
|
|
|
|
EndTime = room.Drills[room.Drills.Count - 1].EndTime, |
|
|
|
|
StartTime = room.Drills[room.Drills.Count - 1].StartTime, |
|
|
|
|
Players = room.Drills[room.Drills.Count - 1].Users, |
|
|
|
|
}; |
|
|
|
|
return resultData; |
|
|
|
|
//计算DrillTime |
|
|
|
|
DrillShowData resultData = new() |
|
|
|
|
{ |
|
|
|
|
DrillTime = room.Drills[room!.Drills.Count - 1].GetDrillLastTime(), |
|
|
|
|
Name = room.Drills[room!.Drills.Count - 1].DrillName, |
|
|
|
|
Owner = roomManager.GetUser(room!.Owner)!, |
|
|
|
|
EndTime = room.Drills[room!.Drills.Count - 1].EndTime, |
|
|
|
|
StartTime = room.Drills[room!.Drills.Count - 1].StartTime, |
|
|
|
|
Players = room.Drills[room!.Drills.Count - 1].Users, |
|
|
|
|
}; |
|
|
|
|
return resultData; |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
throw new Exception("演练还没开始!"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
catch (Exception e) |
|
|
|
@ -357,7 +370,8 @@ namespace AX.WebDrillServer.Hubs
|
|
|
|
|
if (room != null) |
|
|
|
|
{ |
|
|
|
|
data.UserId = userId!; |
|
|
|
|
data.Time = DateTime.Now.Ticks; |
|
|
|
|
//持续时间 |
|
|
|
|
data.Time = room.Drills[room!.Drills.Count - 1].GetDrillLastTime(); |
|
|
|
|
//转发给房间中的其他人 |
|
|
|
|
await Clients.GroupExcept(room.RoomId, Context.ConnectionId).SendAsync("CallWeb_sendOthersOrder", data); |
|
|
|
|
//存储一份数据 |
|
|
|
@ -368,7 +382,7 @@ namespace AX.WebDrillServer.Hubs
|
|
|
|
|
RoomId = room.RoomId, |
|
|
|
|
InfoData = data.Data.ToJson(), |
|
|
|
|
}; |
|
|
|
|
room.Drills[room.Drills.Count - 1].Infos.Add(info); |
|
|
|
|
room.Drills[room!.Drills.Count - 1].Infos.Add(info); |
|
|
|
|
roomManager.SaveRoomSendInfo(info); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|