/// <summary>
 /// Returns true if the device running the game has amplitude control
 /// </summary>
 /// <returns></returns>
 public static bool AndroidHasAmplitudeControl()
 {
     if (!MMVibrationManager.Android())
     {
         return(false);
     }
     return(AndroidVibrator.Call <bool>("hasAmplitudeControl"));
 }
 /// <summary>
 /// Returns true if the device running the game has vibrations
 /// </summary>
 /// <returns></returns>
 public static bool AndroidHasVibrator()
 {
     if (!MMVibrationManager.Android())
     {
         return(false);
     }
     return(AndroidVibrator.Call <bool>("hasVibrator"));
 }
 /// <summary>
 /// Stops all Android vibrations that may be active
 /// </summary>
 public static void AndroidCancelVibrations()
 {
     if (!MMVibrationManager.Android())
     {
         return;
     }
     AndroidVibrator.Call("cancel");
 }
 /// <summary>
 /// Requests a default vibration on Android, for the specified duration, in milliseconds
 /// </summary>
 /// <param name="milliseconds">Milliseconds.</param>
 public static void AndroidVibrate(long milliseconds)
 {
     if (!MMVibrationManager.Android())
     {
         return;
     }
     AndroidVibrateMethodRawClassParameters[0].j = milliseconds;
     AndroidJNI.CallVoidMethod(AndroidVibrator.GetRawObject(), AndroidVibrateMethodRawClass, AndroidVibrateMethodRawClassParameters);
 }
예제 #5
0
        protected virtual void Start()
        {
            _text.text = Version;

            if (MMVibrationManager.iOS())
            {
                _text.text += " iOS " + MMVibrationManager.iOSVersion.ToString();
            }

            if (MMVibrationManager.Android())
            {
                _text.text += " Android " + MMNVAndroid.AndroidSDKVersion().ToString();
            }
        }
 protected virtual void DisplayInformation()
 {
     if (MMVibrationManager.Android())
     {
         _platformString = "API version " + MMVibrationManager.AndroidSDKVersion().ToString();
     }
     else if (MMVibrationManager.iOS())
     {
         _platformString = "iOS " + MMVibrationManager.iOSSDKVersion();
     }
     else
     {
         _platformString = Application.platform + ", not supported by Nice Vibrations for now.";
     }
     DebugTextBox.text = "Platform : " + _platformString + "\n Nice Vibrations v1.2";
 }
 // Requests a vibration on Android for the specified pattern and optional repeat
 // Straight out of the Android documentation :
 // Pass in an array of ints that are the durations for which to turn on or off the vibrator in milliseconds.
 // The first value indicates the number of milliseconds to wait before turning the vibrator on.
 // The next value indicates the number of milliseconds for which to keep the vibrator on before turning it off.
 // Subsequent values alternate between durations in milliseconds to turn the vibrator off or to turn the vibrator on.
 // repeat:  the index into pattern at which to repeat, or -1 if you don't want to repeat.
 public static void AndroidVibrate(long[] pattern, int repeat)
 {
     if (!MMVibrationManager.Android())
     {
         return;
     }
     if ((AndroidSDKVersion() < 26))
     {
         AndroidVibrator.Call("vibrate", pattern, repeat);
     }
     else
     {
         AndroidVibrationEffectClassInitialization();
         VibrationEffect = VibrationEffectClass.CallStatic <AndroidJavaObject>("createWaveform", new object[] { pattern, repeat });
         AndroidVibrator.Call("vibrate", VibrationEffect);
     }
 }
 /// <summary>
 /// Requests a vibration of the specified amplitude and duration. If amplitude is not supported by the device's SDK, a default vibration will be requested
 /// </summary>
 /// <param name="milliseconds">Milliseconds.</param>
 /// <param name="amplitude">Amplitude.</param>
 public static void AndroidVibrate(long milliseconds, int amplitude)
 {
     if (!MMVibrationManager.Android())
     {
         return;
     }
     // amplitude is only supported after API26
     if ((AndroidSDKVersion() < 26))
     {
         AndroidVibrate(milliseconds);
     }
     else
     {
         AndroidVibrationEffectClassInitialization();
         VibrationEffect = VibrationEffectClass.CallStatic <AndroidJavaObject>("createOneShot", new object[] { milliseconds, amplitude });
         AndroidVibrator.Call("vibrate", VibrationEffect);
     }
 }