//离开房间 public static void MsgLeaveRoom(ClientState c, MsgBase msgBase) { MsgLeaveRoom msg = (MsgLeaveRoom)msgBase; Player player = c.player; if (player == null) { return; } Room room = RoomManager.GetRoom(player.roomId); if (room == null) { msg.result = 1; player.Send(msg); return; } room.RemovePlayer(player.id); //返回协议 msg.result = 0; player.roomId = -1; player.Send(msgBase); }
public static void MsgLeaveRoom(ClientState c, MsgBase msgBase) { MsgLeaveRoom msg = (MsgLeaveRoom)msgBase; User user = c.user; if (user == null) { return; } Room room = RoomManager.GetRoom(user.RoomId); if (room == null) { return; } bool delete = room.RemoveUser(user.Userid); if (!delete) { Console.WriteLine("离开房间异常"); return; } //返回协议 user.RoomId = -1; msg.code = HttpStatusCode.OK; msg.result = JsonConvert.SerializeObject(room); room.Broadcast(msg); }
private static void OnLeaveRoom(MsgBase msgBase) { MsgLeaveRoom msg = (MsgLeaveRoom)msgBase; if (msg.code == HttpStatusCode.OK) { RoomDetailScence roomDetailScence = ContainerBuilder.Resolve <RoomDetailScence>(); roomDetailScence.Room = JsonConvert.DeserializeObject <Room>(msg.result); } else { Console.WriteLine(msg.result); } }
//收到退出房间协议 public void OnMsgLeaveRoom(MsgBase msgBase) { MsgLeaveRoom msg = (MsgLeaveRoom)msgBase; //成功退出房间 if (msg.result == 0) { //PanelManager.Open<TipPanel>("退出房间"); PanelManager.Open <RoomListPanel>(); Close(); } //退出房间失败 else { PanelManager.Open <TipPanel>("退出房间失败"); } }
//点击退出按钮 public void OnCloseClick() { MsgLeaveRoom msg = new MsgLeaveRoom(); NetManager.Send(msg); }