using UnityEngine; public static class PlayerPrefsKit { public static void WriteInt(string key, int data) { PlayerPrefs.SetInt(key, data); } // public static void WriteBool(string key, bool data) // { // PlayerPrefs.SetInt(key, data ? PrefsConst.IntTrue : PrefsConst.IntFalse); // } public static void WriteString(string key, string data) { PlayerPrefs.SetString(key, data); } // public static void WriteObject(string key, object data) // { // string dataStr = SerializeUtil.ToJson(data); // PlayerPrefs.SetString(key, dataStr); // } // public static int ReadInt(string key, int defalutValue = PrefsConst.IntDefault) // { // int data = PlayerPrefs.GetInt(key, defalutValue); // return data; // } // public static bool ReadBool(string key, bool defalutValue = PrefsConst.BoolDefault) // { // if (!HasKey(key)) // { // return defalutValue; // } // bool data = PlayerPrefs.GetInt(key) == PrefsConst.IntTrue ? true : false; // return data; // } public static string ReadString(string key) { string data = PlayerPrefs.GetString(key, string.Empty); return data; } // public static object ReadObject(string key) // { // if (!HasKey(key)) // { // return null; // } // string dataStr = PlayerPrefs.GetString(key); // if (string.IsNullOrEmpty(dataStr)) // { // return null; // } // T data = SerializeUtil.ToObject(dataStr); // return data; // } // public static T ReadTObject(string key) // { // if (!HasKey(key)) // { // return default(T); // } // string dataStr = PlayerPrefs.GetString(key); // if (string.IsNullOrEmpty(dataStr)) // { // return default(T); // } // T data = SerializeUtil.ToObject(dataStr); // return data; // } public static bool HasKey(string key) { return PlayerPrefs.HasKey(key); } public static void DeleteKey(string key) { if (HasKey(key)) { PlayerPrefs.DeleteKey(key); } } public static void DeleteAll() { PlayerPrefs.DeleteAll(); } #region Float Double public static float ReadFloat(string key, float defaultValue = 0) { return PlayerPrefs.GetFloat(key, defaultValue); } public static void WriteFloat(string key, float data) { PlayerPrefs.SetFloat(key, data); } public static double ReadDouble(string key, double defaultValue = 0) { string strValue = PlayerPrefs.GetString(key, string.Empty); if (string.IsNullOrEmpty(strValue)) { return defaultValue; } return System.Convert.ToDouble(strValue, System.Globalization.CultureInfo.InvariantCulture); } public static void WriteDouble(string key, double data) { PlayerPrefs.SetString(key, data.ToString()); } #endregion }