public static unsafe Error Connect(ChosenRobotProto chosenRobot) { var buffer = chosenRobot.ToByteArray(); fixed(byte *p = buffer) { IntPtr ptr = (IntPtr)p; var protoMsgC = new ProtoMessageC { data = new SWIGTYPE_p_void(ptr, false), len = (uint)buffer.Length }; var sdkReturn = animus_client_sdk.ConnectGo(protoMsgC); if (sdkReturn == null) { return(new Error { Success = false }); } var err = new Error(); err.MergeFrom(sdkReturn.GetBytes()); return(err); } }
private void ThreadedConnectToRobot(Robot chosenRobot) { var chosenProto = new ChosenRobotProto { ChosenOne = chosenRobot }; connectToRobotFinished = false; var connectReturn = AnimusClient.AnimusClient.Connect(chosenProto); if (connectReturn == null) { connectedToRobotSuccess = true; } else { connectedToRobotSuccess = connectReturn.Success; } connectToRobotFinished = true; }