public void Serialize(OpponentFound message) { m_writer.Reset(); m_writer.Write(NetworkMessageType.OpponentFound); m_writer.Write(message.m_playerName); m_writer.Flush(); }
public void SendOpponentFound() { Debug.Assert(ClientInfos[0] != null && ClientInfos[1] != null); var msg = new OpponentFound(); msg.m_playerName = ClientInfos[1].Name; m_netMsgSerializer.Serialize(msg); m_com.Send(m_netMsgSerializer.Data, m_netMsgSerializer.DataSize, ClientInfos[0].Address); msg = new OpponentFound(); msg.m_playerName = ClientInfos[0].Name; m_netMsgSerializer.Serialize(msg); m_com.Send(m_netMsgSerializer.Data, m_netMsgSerializer.DataSize, ClientInfos[1].Address); }
private void M_GameResponseRecieved(object sender, EventArgs e) { if (lookingForGame) { GameResponseComm c = (GameResponseComm)sender; if (c.fleetName == me.fleetName) { return; } else { opponent = new Player(c.fleetName); OpponentFound.Invoke(opponent, EventArgs.Empty); lookingForGame = false; } } }
public NetworkMessage Deserialize(byte[] data, int size) { var message = new NetworkMessage(); m_reader.Reset(data, size); m_reader.Read(out message.m_type); switch (message.m_type) { case NetworkMessageType.JoinRequest: { var msg = new JoinRequest(); m_reader.Read(out msg.m_clientVersion); m_reader.Read(out msg.m_playerName); message.m_msg = msg; break; } case NetworkMessageType.JoinAccept: { var msg = new JoinAccept(); m_reader.Read(out msg.m_team); message.m_msg = msg; break; } case NetworkMessageType.OpponentFound: { var msg = new OpponentFound(); m_reader.Read(out msg.m_playerName); message.m_msg = msg; break; } case NetworkMessageType.ReadyToStart: break; case NetworkMessageType.StartMatch: break; case NetworkMessageType.PlayerMove: { var msg = new PlayerMove(); m_reader.Read(out msg.m_messageNumber); m_reader.Read(out msg.m_dt); byte direction; m_reader.Read(out direction); msg.m_playerDirection = (PlayerDirection)direction; message.m_msg = msg; break; } case NetworkMessageType.PlayerPosition: { var msg = new PlayerPosition(); m_reader.Read(out msg.m_clientMsgNum); m_reader.Read(out msg.m_team); m_reader.Read(out msg.m_index); m_reader.Read(out msg.m_position); byte direction; m_reader.Read(out direction); msg.m_direction = (PlayerDirection)direction; message.m_msg = msg; break; } case NetworkMessageType.PlayerAction: { var msg = new Action(); m_reader.Read(out msg.m_duration); message.m_msg = msg; break; } case NetworkMessageType.BallPosition: { var msg = new BallPosition(); m_reader.Read(out msg.m_clientMsgNum); m_reader.Read(out msg.m_position); m_reader.Read(out msg.m_velocity); message.m_msg = msg; break; } default: Debug.Log("Unknown network message."); break; } return(message); }