private TSensorData ReadSensorData() { var message = client.ReadJson <PlayerMessage>(); while (message.MessageType == MessageType.Info) { if (OnInfo != null) { OnInfo(JObjectHelper.ParseSimple <string>(message.Message)); } message = client.ReadJson <PlayerMessage>(); } if (message.MessageType == MessageType.SensorData) { var sensorData = message.Message.ToObject <TSensorData>(); if (OnSensorDataReceived != null) { OnSensorDataReceived(sensorData); } return(sensorData); } throw new ClientException(JObjectHelper.ParseSimple <string>(message.Message)); }