hellbound/Assets/Scripts/Managers/Vibration/Vibration.cs

63 lines
1.7 KiB
C#

using MoreMountains.NiceVibrations;
using UnityEngine;
public static class Vibration
{
private static bool VibrationOn => GameSettings.VibrationIsActive && MMVibrationManager.HapticsSupported();
public static void VibrateLight()
{
if (VibrationOn)
MMVibrationManager.Haptic(HapticTypes.LightImpact);
}
public static void VibrateMedium()
{
if (VibrationOn)
MMVibrationManager.Haptic(HapticTypes.MediumImpact);
}
public static void VibrateHeavy()
{
if (VibrationOn)
MMVibrationManager.Haptic(HapticTypes.HeavyImpact);
}
public static void VibrateFailure()
{
if (VibrationOn)
MMVibrationManager.Haptic(HapticTypes.Failure);
}
public static void VibrateSuccess()
{
if (VibrationOn)
MMVibrationManager.Haptic(HapticTypes.Success);
}
public static void VibrateWarning()
{
if (VibrationOn)
MMVibrationManager.Haptic(HapticTypes.Warning);
}
public static void VibrateCustom(float intensity, float sharpness, float duration,
HapticTypes fallbackOldiOS = HapticTypes.None, MonoBehaviour mono = null, bool alsoRumble = false, int controllerID = -1, bool threaded = true, bool fullIntensity = true)
{
if (VibrationOn)
MMVibrationManager.ContinuousHaptic(intensity,sharpness,duration,fallbackOldiOS,mono,alsoRumble,controllerID,threaded,fullIntensity);
}
public static void StopAllHaptics()
{
if (VibrationOn)
MMVibrationManager.StopAllHaptics();
}
public static void StopContinuousHaptic()
{
if (VibrationOn)
MMVibrationManager.StopContinuousHaptic();
}
}