private void OnStatusChanged(PlayerResponse playerResponse) { if (visualizeFeedback == false) { return; } if (_changedFeedback == null) { return; } lock (_changedFeedback) { foreach (var status in playerResponse.Status) { var pos = EnumParser.ToPositionType(status.Key); var val = status.Value; byte[] result = new byte[val.Length]; for (int i = 0; i < val.Length; i++) { result[i] = (byte)val[i]; } var feedback = new HapticFeedback(pos, result); _changedFeedback.Add(feedback); } } }
public MainWindow() { InitializeComponent(); _player = new HapticPlayer(); string sssss = "[\"Head\"]"; var jsonNode = JSON.Parse(sssss); foreach (var keyValuePair in jsonNode.AsArray) { Debug.WriteLine(keyValuePair); var positionType = EnumParser.ToPositionType(keyValuePair.Value); Debug.WriteLine(positionType); } foreach (var s in arr) { try { var readAllText = File.ReadAllText(s); var hapticFeedbackFile = CommonUtils.ConvertJsonStringToTactosyFile(readAllText); _player.Register(s, hapticFeedbackFile.Project); var button = new Button(); button.Content = s; button.Click += (sender, args) => { _player.SubmitRegisteredVestRotation(s, s, new RotationOption(0, 0), new ScaleOption(1, 1)); }; ButtonContainer.Children.Add(button); } catch (Exception e) { Debug.WriteLine(e.Message + " " + e.StackTrace); } } }
private void HapticPlayer_StatusReceived(PlayerResponse obj) { if (changedFeedback == null) { return; } lock (changedFeedback) { foreach (var status in obj.Status) { var pos = EnumParser.ToPositionType(status.Key); var val = status.Value; byte[] result = new byte[val.Length]; for (int i = 0; i < val.Length; i++) { result[i] = (byte)val[i]; } var feedback = new HapticFeedback(pos, result); changedFeedback.Add(feedback); } } }