68 lines
No EOL
1.6 KiB
C#
68 lines
No EOL
1.6 KiB
C#
/*
|
|
* Pedometer
|
|
* Copyright (c) 2017 Yusuf Olokoba
|
|
*/
|
|
|
|
namespace PedometerU.Platforms {
|
|
|
|
using System.Runtime.InteropServices;
|
|
using Utilities;
|
|
|
|
public sealed class PedometeriOS : IPedometer {
|
|
|
|
#region --Properties--
|
|
|
|
public event StepCallback OnStep {
|
|
add {
|
|
PedometerHelper.Instance.OnStep += value;
|
|
} remove {
|
|
PedometerHelper.Instance.OnStep -= value;
|
|
}
|
|
}
|
|
|
|
public bool IsSupported {
|
|
get {
|
|
#if !UNITY_IOS || UNITY_EDITOR
|
|
return false;
|
|
#endif
|
|
#pragma warning disable 0162
|
|
return PDIsSupported();
|
|
#pragma warning restore 0162
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region --Client API--
|
|
|
|
public IPedometer Initialize () {
|
|
// Initialize pedometer natively
|
|
PDInitialize();
|
|
return this;
|
|
}
|
|
|
|
public void Release () {
|
|
// Release pedometer natively
|
|
PDRelease();
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region --Bridge--
|
|
|
|
#if UNITY_IOS
|
|
[DllImport("__Internal")]
|
|
private static extern void PDInitialize ();
|
|
[DllImport("__Internal")]
|
|
private static extern void PDRelease ();
|
|
[DllImport("__Internal")]
|
|
private static extern bool PDIsSupported ();
|
|
|
|
#else // Keep IL2CPP happy
|
|
private static void PDInitialize () {}
|
|
private static void PDRelease () {}
|
|
private static bool PDIsSupported () {return false;}
|
|
#endif
|
|
#endregion
|
|
}
|
|
} |