using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using LitJson;
using System;
namespace ZXKFramework
{
///
/// 本地授权管理
///
public class LocalLicenseManager
{
//当前界面停留的总时间(秒)
private float _passTime = 0;
//用于减少打印次数,间隔1秒进行打印显示 l
private float _lastPassTime = 1;
private bool _hasRefeshed = false;
LocalLicenseDataNex localLicenseData = new LocalLicenseDataNex();
private long _nextDayMidNight;
public Action callBack = null;
public void CreateLicense()
{
string loPath = Application.persistentDataPath + "/LocalLicense/LocalLicense.txt";
localLicenseData._nextDayMidNight = TimeTools.GetNextDayZeroTimeStamp(3).ToString();
string loData = UnityTools.GetJson(localLicenseData);
Debug.Log(loData);
TextTools.Create(loPath, loData);
}
public bool ReadLicence()
{
string loPath = Application.persistentDataPath + "/LocalLicense/LocalLicense.txt";
if (File.Exists(loPath))
{
string loData = TextTools.Read(loPath);
localLicenseData = JsonMapper.ToObject(loData);
_nextDayMidNight = long.Parse(localLicenseData._nextDayMidNight);
return true;
}
return false;
}
///
/// 打开授权文件位置
///
public void OpenPath()
{
string loPath = Application.persistentDataPath + "/LocalLicense";
UnityTools.CreateDirectory(loPath);
UnityTools.OpenDirectory(loPath);
}
public void Update()
{
_passTime += Time.deltaTime;
if (_passTime - _lastPassTime > 1)
{
_lastPassTime = _passTime;
if (TimeTools.TimeStampNow >= _nextDayMidNight && !_hasRefeshed)
{
//到点之后执行回调
_hasRefeshed = true;
callBack?.Invoke(true, "对不起,您的授权已经过期");
}
else
{
callBack?.Invoke(false, $"授权剩余时间 : {TimeTools.ConvertSecToDHMS((int)(_nextDayMidNight - TimeTools.TimeStampNow))}");
}
}
}
}
}