mergemilitary/Assets/UUID/Scripts/UUIDTool.cs

57 lines
1.1 KiB
C#

using UnityEngine;
#if UNITY_IOS
using System.Runtime.InteropServices;
#endif
public static class UUIDTool
{
public static string DeviceID
{
get
{
if (string.IsNullOrEmpty(sDeviceID))
{
sDeviceID = SystemInfo.deviceUniqueIdentifier;
#if UNITY_IOS && !UNITY_EDITOR
string tUUID = UUIDTool.GetUUID();
if(!string.IsNullOrEmpty(tUUID))
{
sDeviceID = tUUID;
}
UUIDTool.SetUUID(sDeviceID);
#endif
}
return sDeviceID;
}
}
private static string sDeviceID = null;
#if UNITY_IOS
private static void SetUUID(string pUUID)
{
mSetUUID(pUUID);
}
private static string GetUUID()
{
return mGetUUID();
}
private static void DeleteUUID()
{
mDeleteUUID();
}
[DllImport("__Internal")]
private static extern void mSetUUID(string pUUID);
[DllImport("__Internal")]
private static extern string mGetUUID();
[DllImport("__Internal")]
private static extern void mDeleteUUID();
#endif
}