private void Player_DataReceived(object sender, NetworkDataRecievedEventArgs e) { if (Actions.ContainsKey(e.Message.MessageType)) { Actions[e.Message.MessageType].Invoke(e.Message); } }
private void NetworkPlayer_DataReceived(object sender, NetworkDataRecievedEventArgs e) { lock (lockObject) { messagesToPrint.Enqueue(e.Message); } }
private void NetworkPlayer_DataReceived(object sender, NetworkDataRecievedEventArgs e) { if (e.Message.MessageType == MessageTypes.Connected) { networkConnection.Id = (NetworkId)e.Message.Data; Console.WriteLine("Received connectionId: " + networkConnection.Id); } }
private void Player_DataReceived(object sender, NetworkDataRecievedEventArgs e) { Console.WriteLine("Server: " + e.Message.Data); if (Actions.ContainsKey(e.Message.MessageType)) { Actions[e.Message.MessageType].Invoke(e.Message); } }
private static void NetworkPlayer_DataReceived(object sender, NetworkDataRecievedEventArgs e) { if (e.Message.MessageType == MessageTypes.Connected) { networkPlayer.Id = (NetworkId)e.Message.Data; Console.WriteLine("Received connectionId: " + networkPlayer.Id); } else { Console.WriteLine("Received data: " + e.Message.Data); if (e.Message.MessageType == MessageTypes.GameUpdate) { gameField = ((GameFieldMessage)e.Message.Data).Game; } } }
private void Player_DataReceived(object sender, NetworkDataRecievedEventArgs messageReceivedEvent) { if (messageReceivedEvent.Message.MessageType == MessageTypes.Generic) { var messageData = (GenericMessageData)messageReceivedEvent.Message.Data; IService service = Services[messageData.TargetClass]; var target = Assembly.GetExecutingAssembly().GetTypes().First(type => type.Name == messageData.TargetClass); Task.Run(() => { try { var method = target.GetMethod(messageData.TargetMethod); var parameters = new List <object>(messageData.Parameters); if (method.GetParameters().Length == messageData.Parameters.Length + 1) { parameters.Add(((INetworkPlayer)sender).Id); } object result = method.Invoke(service, parameters.ToArray()); if (Clients.TryGetValue(messageReceivedEvent.Message.SenderId, out NetworkPlayer networkPlayer)) { networkPlayer.Send(new NetworkMessage(MessageTypes.Generic, result, NetworkId.Generate(), NetworkId.Generate(), messageReceivedEvent.Message.MessageId) { RequiresResponse = false }); } } catch (Exception e) { var message = new StringBuilder(); message.Append(e.Message); if (e.InnerException != null) { message.Append(Environment.NewLine); message.Append(e.InnerException.Message); } message.Append(Environment.NewLine); message.Append(e.StackTrace); if (e.InnerException != null) { message.Append(e.InnerException.StackTrace); } message.Append(Environment.NewLine); Logger.Instance.Error(message.ToString()); if (Clients.TryGetValue(messageReceivedEvent.Message.SenderId, out NetworkPlayer errorPlayer)) { errorPlayer.Send(new ExceptionMessage(e).ToNetworkMessage(Id)); } } }); } else { //Hmm mauybe do something i dont know } }