Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using MoreMountains.NiceVibrations;
- public class HapticsManager : MonoBehaviourSingleton<HapticsManager>
- {
- [SerializeField, Header("Continuous Configuration")] private AnimationCurve _continuousIntensity;
- [SerializeField] public AnimationCurve _continousSharpness;
- public static void ContinuousHaptic(float duration = 1)
- {
- MMVibrationManager.ContinuousHaptic(_instance._continuousIntensity.Evaluate(1), _instance._continousSharpness.Evaluate(1), duration, HapticTypes.SoftImpact);
- _instance.StopAllCoroutines();
- _instance.StartCoroutine(_instance.ContinuousHapticCR(duration));
- }
- public static void ContinuousHaptic(float intensity, float sharpness, float duration)
- {
- MMVibrationManager.ContinuousHaptic(intensity, sharpness, duration, HapticTypes.SoftImpact);
- _instance.StopAllCoroutines();
- _instance.StartCoroutine(_instance.ContinuousHapticCR(duration));
- }
- private IEnumerator ContinuousHapticCR(float duration)
- {
- float durationCounter = 0;
- while (durationCounter < duration)
- {
- MMVibrationManager.UpdateContinuousHaptic(_continuousIntensity.Evaluate(durationCounter / duration), _continousSharpness.Evaluate(durationCounter / duration));
- durationCounter += Time.deltaTime;
- yield return null;
- }
- MMVibrationManager.StopContinuousHaptic(true);
- }
- public static void CustomStaticHaptic(float intensity, float sharpness)
- {
- MMVibrationManager.TransientHaptic(intensity, sharpness);
- }
- public static void Selection()
- {
- MMVibrationManager.Haptic(HapticTypes.Selection);
- }
- public static void Success()
- {
- MMVibrationManager.Haptic(HapticTypes.Success);
- }
- public static void Warning()
- {
- MMVibrationManager.Haptic(HapticTypes.Warning);
- }
- public static void Failure()
- {
- MMVibrationManager.Haptic(HapticTypes.Failure);
- }
- public static void Rigid()
- {
- MMVibrationManager.Haptic(HapticTypes.RigidImpact);
- }
- public static void Soft()
- {
- MMVibrationManager.Haptic(HapticTypes.SoftImpact);
- }
- public static void Light()
- {
- MMVibrationManager.Haptic(HapticTypes.LightImpact);
- }
- public static void Medium()
- {
- MMVibrationManager.Haptic(HapticTypes.MediumImpact);
- }
- public static void Heavy()
- {
- MMVibrationManager.Haptic(HapticTypes.HeavyImpact);
- }
- public void OnClickSelectionBtn() => Selection();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement