public HapticsPointSet(HapticsPosition position, Point[] points)
 {
     Position = position;
     Points   = points;
 }
Exemple #2
0
        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();
            }
        }