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; } }