using UnityEngine;
using System;
using System.Collections;
using System.Linq;
using D2D.Utilities;
using D2D;
using D2D.Gameplay;
//using MoreMountains.NiceVibrations;
using static D2D.Utilities.SettingsFacade;
using static D2D.Utilities.CommonLazyFacade;
using static D2D.Utilities.CommonGameplayFacade;

namespace D2D
{
    public static class DHaptic
    {
        private const float MinDelayBetweenHaptics = .3f;
        private static float _timeOfNextHaptic;

        [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
        public static void ResetLastTime()
        {
            _timeOfNextHaptic = 0;
        }
        
        public static void HapticLight() => Haptic(_hapticData.lightDuration, _hapticData.lightAmplitude);

        public static void HapticMedium() => Haptic(_hapticData.mediumDuration, _hapticData.mediumAmplitude);
        
        public static void HapticHard() => Haptic(_hapticData.heavyDuration, _hapticData.heavyAmplitude);

        public static void Haptic(int d, int a)
        {
            if (Time.time >= _timeOfNextHaptic)
            {
  //              MMNVAndroid.AndroidVibrate(d, a);
                _timeOfNextHaptic = Time.time + MinDelayBetweenHaptics;
            }
        }
    }
}