public static Sample DecodeData(DataMessage dmsg) { var returnSample = new Sample(dmsg.DataType, null); if (dmsg.DataType == DataMessage.Types.DataType.Image) { var msg = new ImageSamples(); msg.MergeFrom(dmsg.Data); returnSample.Data = msg; return(returnSample); } else if (dmsg.DataType == DataMessage.Types.DataType.Audio) { var msg = new AudioSamples(); msg.MergeFrom(dmsg.Data); returnSample.Data = msg; return(returnSample); } else if (dmsg.DataType == DataMessage.Types.DataType.String) { var msg = new StringSample(); msg.MergeFrom(dmsg.Data); returnSample.Data = msg; return(returnSample); } else if (dmsg.DataType == DataMessage.Types.DataType.Float32Arr) { var msg = new Float32Array(); msg.MergeFrom(dmsg.Data); returnSample.Data = msg; return(returnSample); } else if (dmsg.DataType == DataMessage.Types.DataType.Int64Arr) { var msg = new Int64Array(); msg.MergeFrom(dmsg.Data); returnSample.Data = msg; return(returnSample); } else { Debug.Log("Unknown message"); return(null); } }