public int[] GetCurrentFeedback(PositionType pos) { HapticApi.status status; HapticApi.TryGetResponseForPosition(pos, out status); return(status.values); }
void Update() { if (!visualizeFeedback) { return; } if (!BhapticsUtils.IsPlayerInstalled()) { return; } if (Application.platform == RuntimePlatform.Android) { if (!Monitor.TryEnter(_changedFeedback)) { Debug.Log("failed to enter"); return; } try { foreach (var feedback in _changedFeedback) { foreach (var vis in visualFeedback) { if (vis.Position == feedback.Position) { vis.UpdateFeedback(feedback); } } } _changedFeedback.Clear(); } finally { Monitor.Exit(_changedFeedback); } } else { foreach (var vis in visualFeedback) { HapticApi.status status; HapticApi.TryGetResponseForPosition(vis.Position, out status); byte[] result = new byte[20]; for (int i = 0; i < result.Length; i++) { result[i] = (byte)status.values[i]; } HapticFeedback feedback = new HapticFeedback(vis.Position, result); vis.UpdateFeedback(feedback); } } }