Exemple #1
0
    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);
        }
    }
Exemple #3
0
    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
    }
Exemple #9
0
    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));
 }
Exemple #12
0
 public void UnpairTactal()
 {
     UnpairHapticDevice(BhapticsUtils.ToPositionType(HapticDeviceType.Tactal));
 }
Exemple #13
0
 public void UnpairTactosyArms(bool isLeft)
 {
     UnpairHapticDevice(BhapticsUtils.ToPositionType(HapticDeviceType.Tactosy_arms, isLeft));
 }
Exemple #14
0
 public void PairTactSuit()
 {
     PairHapticDevice(BhapticsUtils.ToPositionType(HapticDeviceType.TactSuit));
 }