164 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			164 lines
		
	
	
		
			4.5 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}", TKGStringPlayerPrefs.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}", TKGStringPlayerPrefs.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}", TKGStringPlayerPrefs.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}", TKGStringPlayerPrefs.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>
 | ||
|     /// 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;
 | ||
|         }
 | ||
|     }
 | ||
| 
 | ||
|     /// <summary>
 | ||
|     /// Get Today data str
 | ||
|     /// </summary>
 | ||
|     /// <returns></returns>
 | ||
|     public static string GetTodayDataStr()
 | ||
|     {
 | ||
|         string timeStr = DateTime.Now.ToString("yyyy-MM-dd");
 | ||
|         return timeStr;
 | ||
|     }
 | ||
| 
 | ||
|     /// <summary>
 | ||
|     /// Open Browser Url
 | ||
|     /// </summary>
 | ||
|     /// <param name="_url"></param>
 | ||
|     public static void OpenBrowserUrl(string _url)
 | ||
|     {
 | ||
|         Application.OpenURL(_url);
 | ||
|     }
 | ||
| 
 | ||
| } |