プロジェクトでサインインシステムを使用しているので、入手しました。他のサインインシステムは以下のとおりです。
using UnityEngine;
using System.Collections;
using System;
using MyGameFrameWork;
public class SignInSystemMgr:BaseManager<SignInSystemMgr>
{
/// <summary>
/// 获取当前游戏签到的次数
/// </summary>
/// <returns></returns>
public int GetSignNum()
{
if (PlayerPrefs.HasKey("SignNum"))
return PlayerPrefs.GetInt("SignNum");
return 0;
}
/// <summary>
/// 设置当前游戏签到的次数具体是多少
/// </summary>
/// <param name="num"></param>
public void SetSignNum(int num)
{
PlayerPrefs.SetInt("SignNum", num);
}
/// <summary>
/// 获取上次签到日期
/// </summary>
/// <returns></returns>
public string GetSignData()
{
if (PlayerPrefs.HasKey("SignData"))
return PlayerPrefs.GetString("SignData");
return DateTime.MinValue.ToString();
}
public void DeletSignNumAndSignData()
{
PlayerPrefs.DeleteKey("SignNum");
PlayerPrefs.DeleteKey("SignData");
}
/// <summary>
/// 设置上次签到日期
/// </summary>
/// <param name="data"></param>
public void SetSignData(DateTime data)
{
PlayerPrefs.SetString("SignData", data.ToString());
TodayData = DateTime.Parse(PlayerPrefs.GetString("SignData"));
SignData = data;
}
int SignNum;//签到次数
DateTime TodayData;
DateTime SignData;
public void InitMyData()
{
TodayData = DateTime.Now;
Debug.Log("签名今天日期:" + TodayData);
SignNum= GetSignNum();
Debug.Log("签名获取签到的个数" + SignNum);
SignData = DateTime.Parse(GetSignData());
Debug.Log("签名SignData:" + SignData);
}
public DateTime GetTodayData()
{
return TodayData;
}
public DateTime GetSignDataFunction()
{
return SignData;
}
public bool IsOneDay(DateTime t1,DateTime t2)
{
return (t1.Year == t2.Year && t1.Month == t2.Month && t1.Day == t2.Day);
}
public bool NeedClean()
{
TimeSpan TsNow = new TimeSpan(TodayData.Ticks);
TimeSpan TsSign = new TimeSpan(SignData.Ticks);
TimeSpan TsDur = TsNow.Subtract(TsSign).Duration();
//SignNum = GetSignNum();
if(TsDur.Days>1)
{
return true;
}
else
{
return false;
}
}
}