public static T LoadData <T>(string key) { if (!PlayerPrefs.HasKey(key)) { return(default(T)); } try { T ret; if (typeof(T) == typeof(int) || typeof(T) == typeof(uint)) { ret = (T)Convert.ChangeType(PlayerPrefs.GetInt(key), typeof(T)); } else if (typeof(T) == typeof(float) || typeof(T) == typeof(double)) { ret = (T)Convert.ChangeType(PlayerPrefs.GetFloat(key), typeof(T)); } else if (typeof(T) == typeof(string)) { ret = (T)Convert.ChangeType(PlayerPrefs.GetString(key), typeof(T)); } else { string txt = PlayerPrefs.GetString(key); ret = JsonUtility.FromJson <T>(txt); } return(ret); } catch (Exception e) { Logger.LogWarning("读取配置错误, key = " + key + ", " + e); } return(default(T)); }
/// <summary> /// /// </summary> /// <param name="msg"></param> /// <param name="level"></param> /// <param name="isGlobal">是否是全局LOG</param> protected void Log(string msg, LogLevel level = LogLevel.Error, bool isGlobal = false) { if (!isGlobal) { msg = string.Format("[第{0}行,列名:{1}] {2}", m_curRowIndex, m_curColName, msg); } msg = string.Format("配置错误({0}.csv) => {1}", GetName(), msg); switch (level) { case LogLevel.Warning: Logger.LogWarning(msg, "BaseCfgDecoder.LogCfgError"); break; default: Logger.LogError(msg, "BaseCfgDecoder.LogCfgError"); break; } }