private void _CreatRoom(Player player, byte[] data) { //结果 CreatRoom result = new CreatRoom(); CreatRoom receive = NetworkUtils.Deserialize <CreatRoom>(data); //逻辑检测(玩家不在任何房间中 并且 不存在该房间) if (!player.InRoom && !Server.Rooms.ContainsKey(receive.RoomId)) { //新增房间 Room room = new Room(receive.RoomId); Server.Rooms.Add(room.RoomId, room); //添加玩家 room.Players.Add(player); player.EnterRoom(receive.RoomId); Console.WriteLine($"玩家:{player.Name}创建房间成功"); //向客户端发送操作结果 result.Suc = true; result.RoomId = receive.RoomId; data = NetworkUtils.Serialize(result); player.Send(MessageType.CreatRoom, data); } else { Console.WriteLine($"玩家:{player.Name}创建房间失败"); //向客户端发送操作结果 data = NetworkUtils.Serialize(result); player.Send(MessageType.CreatRoom, data); } }
/// <summary> /// 创建房间 /// </summary> public void CreatRoomRequest(int roomId) { CreatRoom request = new CreatRoom(); request.RoomId = roomId; byte[] data = NetworkUtils.Serialize(request); NetworkClient.Enqueue(MessageType.CreatRoom, data); }
private void _CreatRoom(byte[] data) { CreatRoom result = NetworkUtils.Deserialize <CreatRoom>(data); if (result.Suc) { NetworkPlayer.Instance.OnRoomIdChange(result.RoomId); Info.Instance.Print(string.Format("创建房间成功, 你的房间号是{0}", NetworkPlayer.Instance.RoomId)); } else { Info.Instance.Print("创建房间失败"); } }