202 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			202 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System; | |||
|  | using System.Collections; | |||
|  | using System.Collections.Generic; | |||
|  | using UnityEngine; | |||
|  | using Touka; | |||
|  | 
 | |||
|  | public class TKGUtils | |||
|  | { | |||
|  |     /// <summary> | |||
|  |     /// 是否首次触达某个事件 | |||
|  |     /// </summary> | |||
|  |     /// <param name="_key"></param> | |||
|  |     /// <returns></returns> | |||
|  |     public static bool IfFirstCheckPlayerPrefs(string _key) | |||
|  |     { | |||
|  |         var isFirstClick = GetPlayerPrefsIntByKey(_key) == 0; | |||
|  |         SavePlayerPrefsIntByKeyValue(_key, 1); | |||
|  | 
 | |||
|  |         return isFirstClick; | |||
|  |     } | |||
|  | 
 | |||
|  |     /// <summary> | |||
|  |     /// 本地存int | |||
|  |     /// | |||
|  |     /// key 内部拼接了前缀:Touka_ | |||
|  |     /// </summary> | |||
|  |     /// <param name="_key"></param> | |||
|  |     /// <param name="_defaultValue"></param> | |||
|  |     /// <returns></returns> | |||
|  |     public static int GetPlayerPrefsIntByKey(string _key, int _defaultValue = 0) | |||
|  |     { | |||
|  |         int value = PlayerPrefs.GetInt(string.Format("{0}{1}", StaticStringsPlayerPrefs.TOUKA_PREFIX, _key), _defaultValue); | |||
|  |         return value; | |||
|  |     } | |||
|  | 
 | |||
|  |     /// <summary> | |||
|  |     /// 本地取int | |||
|  |     /// | |||
|  |     /// key 内部拼接了前缀:Touka_ | |||
|  |     /// </summary> | |||
|  |     /// <param name="_key"></param> | |||
|  |     /// <param name="_newValue"></param> | |||
|  |     public static void SavePlayerPrefsIntByKeyValue(string _key, int _newValue) | |||
|  |     { | |||
|  |         PlayerPrefs.SetInt(string.Format("{0}{1}", StaticStringsPlayerPrefs.TOUKA_PREFIX, _key), _newValue); | |||
|  |         PlayerPrefs.Save(); | |||
|  |     } | |||
|  | 
 | |||
|  |     /// <summary> | |||
|  |     /// 本地存string | |||
|  |     /// | |||
|  |     /// key 内部拼接了前缀:Touka_ | |||
|  |     /// </summary> | |||
|  |     /// <param name="_key"></param> | |||
|  |     /// <param name="_defaultValue"></param> | |||
|  |     /// <returns></returns> | |||
|  |     public static string GetPlayerPrefsStringByKey(string _key, string _defaultValue = "") | |||
|  |     { | |||
|  |         string value = PlayerPrefs.GetString(string.Format("{0}{1}", StaticStringsPlayerPrefs.TOUKA_PREFIX, _key), _defaultValue); | |||
|  |         return value; | |||
|  |     } | |||
|  | 
 | |||
|  |     /// <summary> | |||
|  |     /// 本地取string | |||
|  |     /// | |||
|  |     /// key 内部拼接了前缀:Touka_ | |||
|  |     /// </summary> | |||
|  |     /// <param name="_key"></param> | |||
|  |     /// <param name="_newValue"></param> | |||
|  |     public static void SavePlayerPrefsStringByKeyValue(string _key, string _newValue) | |||
|  |     { | |||
|  |         PlayerPrefs.SetString(string.Format("{0}{1}", StaticStringsPlayerPrefs.TOUKA_PREFIX, _key), _newValue); | |||
|  |         PlayerPrefs.Save(); | |||
|  |     } | |||
|  | 
 | |||
|  |     /// <summary> | |||
|  |     /// 缓存当前时间 | |||
|  |     /// </summary> | |||
|  |     /// <param name="_key"></param> | |||
|  |     public static void SaveCurrTime2PlayerPrefs(string _key) | |||
|  |     { | |||
|  |         DateTime date1 = DateTime.Now; | |||
|  |         string s1 = date1.ToString(); | |||
|  |         SavePlayerPrefsStringByKeyValue(_key, s1); | |||
|  |     } | |||
|  | 
 | |||
|  |     /// <summary> | |||
|  |     /// 缓存本地时间为string | |||
|  |     /// </summary> | |||
|  |     /// <param name="_key"></param> | |||
|  |     /// <param name="_dateStr"></param> | |||
|  |     public static void SaveCurrTime2PlayerPrefsWithStringDate(string _key, string _dateStr) | |||
|  |     { | |||
|  |         SavePlayerPrefsStringByKeyValue(_key, _dateStr); | |||
|  |     } | |||
|  | 
 | |||
|  |     /// <summary> | |||
|  |     /// 取出缓存string时间为 DateTime | |||
|  |     /// </summary> | |||
|  |     /// <param name="_key"></param> | |||
|  |     /// <returns></returns> | |||
|  |     public static DateTime GetDateTimeFromPlayerPrefs(string _key) | |||
|  |     { | |||
|  |         string firstDateValue = GetPlayerPrefsStringByKey(_key); | |||
|  |         if (string.IsNullOrEmpty(firstDateValue)) | |||
|  |         { | |||
|  |             return new DateTime(1990, 1, 1, 0, 0, 0); | |||
|  |         } | |||
|  |         DateTime dateOld = Convert.ToDateTime(firstDateValue); | |||
|  |         return dateOld; | |||
|  |     } | |||
|  | 
 | |||
|  |     /// <summary> | |||
|  |     /// 判断是否为新用户 | |||
|  |     /// | |||
|  |     /// 距离首次登录时间间隔24h以内为新用户 | |||
|  |     /// </summary> | |||
|  |     /// <returns></returns> | |||
|  |     public static bool isNewUser() | |||
|  |     { | |||
|  |         DateTime dateCurr = DateTime.Now; | |||
|  | 
 | |||
|  |         string firstDateValue = GetPlayerPrefsStringByKey(StaticStringsPlayerPrefs.FirstLoginTime); | |||
|  |         if (string.IsNullOrEmpty(firstDateValue)) | |||
|  |         { | |||
|  |             Debug.Log("存的值为空,为新用户"); | |||
|  |             return true; | |||
|  |         } | |||
|  |         Debug.Log("读取出来的值: " + firstDateValue + " , 现在的时间值:" + dateCurr.ToString());     // 06/16/2019 19:46:57 | |||
|  |         DateTime dateOld = Convert.ToDateTime(firstDateValue); | |||
|  | 
 | |||
|  |         TimeSpan timeSpan = dateCurr - dateOld; | |||
|  |         Debug.Log("timeSpan.Seconds : " + timeSpan.TotalMinutes); | |||
|  |         if (timeSpan.TotalMinutes >= 24 * 60) | |||
|  |         { | |||
|  |             Debug.Log("不是新用户了"); | |||
|  |             return false; | |||
|  |         } | |||
|  |         Debug.Log("是新用户"); | |||
|  |         return true; | |||
|  |     } | |||
|  | 
 | |||
|  |     /// <summary> | |||
|  |     /// equal double | |||
|  |     /// </summary> | |||
|  |     /// <param name="a"></param> | |||
|  |     /// <param name="b"></param> | |||
|  |     /// <returns></returns> | |||
|  |     public static bool equalDouble(double a, double b) | |||
|  |     { | |||
|  |         if ((a - b > -0.000001) && (a - b) < 0.000001) | |||
|  |             return true; | |||
|  |         else | |||
|  |             return false; | |||
|  |     } | |||
|  | 
 | |||
|  |     /// <summary> | |||
|  |     /// Floats the equal. | |||
|  |     /// </summary> | |||
|  |     /// <returns><c>true</c>, if equal was floated, <c>false</c> otherwise.</returns> | |||
|  |     /// <param name="a">The alpha component.</param> | |||
|  |     /// <param name="b">The blue component.</param> | |||
|  |     public static bool FloatEqual(float a, float b) | |||
|  |     { | |||
|  |         if ((a - b > -0.000001) && (a - b) < 0.000001) | |||
|  |         { | |||
|  |             return true; | |||
|  |         } | |||
|  |         else | |||
|  |         { | |||
|  |             return false; | |||
|  |         } | |||
|  |     } | |||
|  | 
 | |||
|  |     public static string GetTodayDataStr() | |||
|  |     { | |||
|  |         string timeStr = DateTime.Now.ToString("yyyy-MM-dd"); | |||
|  |         return timeStr; | |||
|  |     } | |||
|  | 
 | |||
|  |     public static void OpenBrowserUrl(string _url) | |||
|  |     { | |||
|  |         Application.OpenURL(_url); | |||
|  |     } | |||
|  | 
 | |||
|  |     #region unity sdk only | |||
|  |     public static void InitTenjinFirst() | |||
|  |     { | |||
|  |         ToukaUtils.InitTenjinFirst(); | |||
|  |     } | |||
|  | 
 | |||
|  |     public static void ActiveAutoIV(bool pActive) | |||
|  |     { | |||
|  |         AutoIntersititialManager.Instance.ActiveLogic(pActive); | |||
|  |     } | |||
|  | 
 | |||
|  |     public static bool WillPlayInterstitial() | |||
|  |     { | |||
|  |         return ToukaInterstitialTimer.Instance.CanShow(ToukaSDKManager.IVType.IV1, true) && ToukaAdManager.Instance.IsReadyIntersitial(); | |||
|  |     } | |||
|  |     #endregion | |||
|  | } |