Advertisement
Guest User

Untitled

a guest
Apr 6th, 2020
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.68 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using MoreMountains.NiceVibrations;
  5.  
  6. public class HapticsManager : MonoBehaviourSingleton<HapticsManager>
  7. {
  8.     [SerializeField, Header("Continuous Configuration")] private AnimationCurve _continuousIntensity;
  9.     [SerializeField] public AnimationCurve _continousSharpness;
  10.  
  11.  
  12.     public static void ContinuousHaptic(float duration = 1)
  13.     {
  14.         MMVibrationManager.ContinuousHaptic(_instance._continuousIntensity.Evaluate(1), _instance._continousSharpness.Evaluate(1), duration, HapticTypes.SoftImpact);
  15.  
  16.         _instance.StopAllCoroutines();
  17.         _instance.StartCoroutine(_instance.ContinuousHapticCR(duration));
  18.     }
  19.  
  20.     public static void ContinuousHaptic(float intensity, float sharpness, float duration)
  21.     {
  22.         MMVibrationManager.ContinuousHaptic(intensity, sharpness, duration, HapticTypes.SoftImpact);
  23.  
  24.         _instance.StopAllCoroutines();
  25.         _instance.StartCoroutine(_instance.ContinuousHapticCR(duration));
  26.     }
  27.  
  28.     private IEnumerator ContinuousHapticCR(float duration)
  29.     {
  30.         float durationCounter = 0;
  31.  
  32.         while (durationCounter < duration)
  33.         {
  34.             MMVibrationManager.UpdateContinuousHaptic(_continuousIntensity.Evaluate(durationCounter / duration), _continousSharpness.Evaluate(durationCounter / duration));
  35.  
  36.             durationCounter += Time.deltaTime;
  37.  
  38.             yield return null;
  39.         }
  40.  
  41.         MMVibrationManager.StopContinuousHaptic(true);
  42.     }
  43.  
  44.     public static void CustomStaticHaptic(float intensity, float sharpness)
  45.     {
  46.         MMVibrationManager.TransientHaptic(intensity, sharpness);
  47.     }
  48.  
  49.     public static void Selection()
  50.     {
  51.         MMVibrationManager.Haptic(HapticTypes.Selection);
  52.     }
  53.  
  54.     public static void Success()
  55.     {
  56.         MMVibrationManager.Haptic(HapticTypes.Success);
  57.     }
  58.  
  59.     public static void Warning()
  60.     {
  61.         MMVibrationManager.Haptic(HapticTypes.Warning);
  62.     }
  63.  
  64.     public static void Failure()
  65.     {
  66.         MMVibrationManager.Haptic(HapticTypes.Failure);
  67.     }
  68.  
  69.     public static void Rigid()
  70.     {
  71.         MMVibrationManager.Haptic(HapticTypes.RigidImpact);
  72.     }
  73.  
  74.     public static void Soft()
  75.     {
  76.         MMVibrationManager.Haptic(HapticTypes.SoftImpact);
  77.     }
  78.  
  79.     public static void Light()
  80.     {
  81.         MMVibrationManager.Haptic(HapticTypes.LightImpact);
  82.     }
  83.  
  84.     public static void Medium()
  85.     {
  86.         MMVibrationManager.Haptic(HapticTypes.MediumImpact);
  87.     }
  88.  
  89.     public static void Heavy()
  90.     {
  91.         MMVibrationManager.Haptic(HapticTypes.HeavyImpact);
  92.     }
  93.  
  94.     public void OnClickSelectionBtn() => Selection();
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement