private void Initialize() { BhapticsManager.Initialize(); if (Config == null) { BhapticsLogger.LogError("BHapticsConfig is not setup!"); return; } if (Application.platform != RuntimePlatform.Android) { if (Config.launchPlayerIfNotRunning && BhapticsUtils.IsPlayerInstalled() && !BhapticsUtils.IsPlayerRunning()) { BhapticsLogger.LogInfo("Try launching bhaptics player."); BhapticsUtils.LaunchPlayer(true); } } #if UNITY_ANDROID if (Config.AndroidManagerPrefab == null) { BhapticsLogger.LogError("[bhaptics] AndroidManagerPrefab is not setup!"); return; } var go = Instantiate(Config.AndroidManagerPrefab, transform); go.alwaysScanDisconnectedDevice = Config.AlwaysScanDisconnectedDevice; #endif }
void Update() { if (Input.GetMouseButtonDown(0)) { isClickedArea = GetPathPointOffset() != null; } if (!isClickedArea) { return; } if (!Input.GetMouseButton(0)) { isClickedArea = false; return; } var haptic = BhapticsManager.GetHaptic(); if (haptic == null) { return; } var currentPathPointOffset = GetPathPointOffset(); if (currentPathPointOffset != null) { pathPointList[0].X = currentPathPointOffset.Value.x; pathPointList[0].Y = currentPathPointOffset.Value.y; haptic.Submit(key, BhapticsUtils.ToPositionType(clipPositionType), pathPointList, duration); } }
private void Refresh() { #region Button UI if (scanStateText != null) { scanStateText.text = BhapticsAndroidManager.IsScanning() ? "Scanning" : "Scan Stopped"; } var head = BhapticsUtils.ToPositionType(HapticDeviceType.Tactal); talButtons.pair.interactable = BhapticsAndroidManager.CanPairDevice(head); talButtons.ping.interactable = BhapticsAndroidManager.GetConnectedDevices(head).Count > 0; talButtons.unpair.interactable = BhapticsAndroidManager.GetPairedDevices(head).Count > 0; var suit = BhapticsUtils.ToPositionType(HapticDeviceType.TactSuit); suitButtons.pair.interactable = BhapticsAndroidManager.CanPairDevice(suit); suitButtons.ping.interactable = BhapticsAndroidManager.GetConnectedDevices(suit).Count > 0; suitButtons.unpair.interactable = BhapticsAndroidManager.GetPairedDevices(suit).Count > 0; var leftArm = BhapticsUtils.ToPositionType(HapticDeviceType.Tactosy_arms, true); armsLeftButtons.pair.interactable = BhapticsAndroidManager.CanPairDevice(leftArm); armsLeftButtons.ping.interactable = BhapticsAndroidManager.GetConnectedDevices(leftArm).Count > 0; armsLeftButtons.unpair.interactable = BhapticsAndroidManager.GetPairedDevices(leftArm).Count > 0; armsLeftButtons.toggle.interactable = BhapticsAndroidManager.GetPairedDevices(leftArm).Count > 0; var rightArm = BhapticsUtils.ToPositionType(HapticDeviceType.Tactosy_arms, false); armsRightButtons.pair.interactable = BhapticsAndroidManager.CanPairDevice(rightArm); armsRightButtons.ping.interactable = BhapticsAndroidManager.GetConnectedDevices(rightArm).Count > 0; armsRightButtons.unpair.interactable = BhapticsAndroidManager.GetPairedDevices(rightArm).Count > 0; armsRightButtons.toggle.interactable = BhapticsAndroidManager.GetPairedDevices(rightArm).Count > 0; #endregion }
public void ToggleTactosyArms(bool isLeft) { var connectedDevices = BhapticsAndroidManager.GetConnectedDevices(BhapticsUtils.ToPositionType(HapticDeviceType.Tactosy_arms, isLeft)); for (int i = 0; i < connectedDevices.Count; ++i) { BhapticsAndroidManager.TogglePosition(connectedDevices[i].Address); } }
void Update() { var haptic = BhapticsManager.GetHaptic(); if (haptic == null) { return; } haptic.Submit(key, BhapticsUtils.ToPositionType(clipPositionType), dotPointList, duration); }
void Update() { var haptic = BhapticsManager.GetHaptic(); if (haptic == null) { return; } foreach (var vis in visualFeedback) { var feedback = haptic.GetCurrentFeedback(BhapticsUtils.ToPositionType(vis.devicePos)); vis.UpdateFeedback(feedback); } }
private void OnImpactFunction(ImpactInfo arg0) { var velocity = arg0.entryVelocity.magnitude; Debug.Log(velocity); // use speed for intensity? var intensity = velocity * 0.001; var angle = BhapticsUtils.Angle(transform.forward, arg0.entryPosition - transform.position); if (HapticClip != null) { // HapticClip.Play(1f, 0.5f, 360 - angle, 0); // USE OFFSET var offsetY = (arg0.entryPosition.y - transform.position.y) / targetHeight; HapticClip.Play(1f, 0.5f, 360 - angle, offsetY); } // Debug.LogError(angle); }
private void Refresh() { #region UI var head = BhapticsUtils.ToPositionType(HapticDeviceType.Tactal); talButtons.ping.interactable = BhapticsAndroidManager.GetConnectedDevices(head).Count > 0; var suit = BhapticsUtils.ToPositionType(HapticDeviceType.TactSuit); suitButtons.ping.interactable = BhapticsAndroidManager.GetConnectedDevices(suit).Count > 0; var leftArm = BhapticsUtils.ToPositionType(HapticDeviceType.Tactosy_arms, true); armsLeftButtons.ping.interactable = BhapticsAndroidManager.GetConnectedDevices(leftArm).Count > 0; armsLeftButtons.toggle.interactable = BhapticsAndroidManager.GetPairedDevices(leftArm).Count > 0; var rightArm = BhapticsUtils.ToPositionType(HapticDeviceType.Tactosy_arms, false); armsRightButtons.ping.interactable = BhapticsAndroidManager.GetConnectedDevices(rightArm).Count > 0; armsRightButtons.toggle.interactable = BhapticsAndroidManager.GetPairedDevices(rightArm).Count > 0; if (pairedDevicesCount != null) { pairedDevicesCount.text = BhapticsAndroidManager.GetDevices().Count.ToString(); } #endregion }
public void RegisterTactFileStrReflected(string key, string tactFileStr) { var project = BhapticsUtils.ReflectLeftRight(tactFileStr); Register(key, project); }
public void PingTactosyArms(bool isLeft) { PingPairedDevice(BhapticsUtils.ToPositionType(HapticDeviceType.Tactosy_arms, isLeft)); }
public void PingTactSuit() { PingPairedDevice(BhapticsUtils.ToPositionType(HapticDeviceType.TactSuit)); }
public void UnpairTactal() { UnpairHapticDevice(BhapticsUtils.ToPositionType(HapticDeviceType.Tactal)); }
public void UnpairTactosyArms(bool isLeft) { UnpairHapticDevice(BhapticsUtils.ToPositionType(HapticDeviceType.Tactosy_arms, isLeft)); }
public void PairTactSuit() { PairHapticDevice(BhapticsUtils.ToPositionType(HapticDeviceType.TactSuit)); }