85 lines
2.4 KiB
C#
85 lines
2.4 KiB
C#
using System;
|
||
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using UnityEditor;
|
||
using UnityEngine;
|
||
using UnityEngine.Events;
|
||
using UnityEngine.UI;
|
||
|
||
public class DataLicense : MonoBehaviour
|
||
{
|
||
public GameObject obj;
|
||
public Button exitGame;
|
||
// Start is called before the first frame update
|
||
void Start()
|
||
{
|
||
exitGame.onClick.AddListener(() => {
|
||
#if UNITY_EDITOR //在编辑器模式下
|
||
EditorApplication.isPlaying = false;
|
||
#else
|
||
Application.Quit();
|
||
#endif
|
||
});
|
||
//CreatTimer("0|0");
|
||
UpdateDataLicense(() =>
|
||
{
|
||
obj.SetActive(true);
|
||
}, () =>
|
||
{
|
||
obj.SetActive(false);
|
||
});
|
||
}
|
||
public void UpdateDataLicense(UnityAction action1=null,UnityAction action2=null)
|
||
{
|
||
try
|
||
{
|
||
string[] datas = DecryptFileReader.ReadAndDecryptData("License.txt", () => {
|
||
Debug.Log("弹出ui界面,提示:仿真文件损坏请联系管理员进行修复");
|
||
action1?.Invoke();
|
||
}).Split('|');
|
||
if (datas[0]=="0"&& datas[1]=="0")
|
||
{
|
||
CreatTimer($"{1}|{GetPhysicalAddress()}");
|
||
}
|
||
else if (datas[0]=="1")
|
||
{
|
||
if (datas[1]== GetPhysicalAddress())
|
||
{
|
||
Debug.Log("验证通过,");
|
||
action2?.Invoke();
|
||
}
|
||
else
|
||
{
|
||
Debug.Log("当前设备ID跟程序ID不一致");
|
||
action1?.Invoke();
|
||
}
|
||
}
|
||
}
|
||
catch (Exception e)
|
||
{
|
||
action1?.Invoke();
|
||
}
|
||
}
|
||
|
||
public void CreatTimer(string value)
|
||
{
|
||
string strMerge = value;
|
||
Debug.Log(strMerge);
|
||
EncryptFileCreator.EncryptAndSaveData(strMerge, "License.txt");
|
||
}
|
||
string GetPhysicalAddress()
|
||
{
|
||
//string physicalAddress = "";
|
||
//NetworkInterface[] nis = NetworkInterface.GetAllNetworkInterfaces();
|
||
//foreach (NetworkInterface ni in nis)
|
||
//{
|
||
// if (ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet && ni.OperationalStatus == OperationalStatus.Up)
|
||
// {
|
||
// physicalAddress = ni.GetPhysicalAddress().ToString();
|
||
// break;
|
||
// }
|
||
//}
|
||
return SystemInfo.deviceUniqueIdentifier;
|
||
}
|
||
}
|