public HapticsPointSet(HapticsPosition position, Point[] points) { Position = position; Points = points; }
public async Task SendMessage(HapticsPosition pos, byte[] data) { if (_webSocket == null) { return; } // { // "Register": [], // "Submit": [ // { // "Type": "frame", // "Key": "key", // "Frame": { // "DurationMillis": 1000, // "Position": PositionType, // "Texture": 0, // "DotPoints": [ // { // "Index": 0, // "Intensity": 100 // } // ], // "PathPoint": [] // } // } // ] // } var builder = new StringBuilder(); builder.Append("{"); builder.Append("\"Register\":[],"); builder.Append("\"Submit\":[{"); builder.Append("\"Type\":\"frame\","); builder.AppendFormat("\"Key\":\"{0}\",", pos.ToString()); builder.Append("\"Frame\":{"); builder.Append("\"DurationMillis\":200,"); builder.AppendFormat("\"Position\":{0},", (int)pos); builder.Append("\"Texture\":0,"); builder.Append("\"DotPoints\":["); for (int i = 0; i < data.Length; ++i) { if (i != 0) { builder.Append(","); } builder.Append("{"); builder.AppendFormat("\"Index\":{0},", i); builder.AppendFormat("\"Intensity\":{0}", (int)data[i]); builder.Append("}"); } builder.Append("],"); builder.Append("\"PathPoints\":[]"); builder.Append("}"); builder.Append("}]"); builder.Append("}"); var json = builder.ToString(); using (var writer = new DataWriter(_webSocket.OutputStream)) { writer.WriteString(json); await writer.StoreAsync(); writer.DetachStream(); } }