public static bool GetKeyValue(PrefsKey prefsKey, out string value, out bool json) { string propertyName; string prefsManager; string type; value = ""; json = false; if (!ParseKeyString(prefsKey.ToString(), out propertyName, out type, out prefsManager)) { return(false); } IPrefsManager manager = GetManager(prefsManager); if (manager == null) { return(false); } switch (type) { case "Int": case "int": value = manager.GetInt(prefsKey, 0).ToString(); break; case "bool": case "Bool": value = manager.GetInt(prefsKey, 0) == 1 ? "true" : "false"; break; case "Float": case "float": value = manager.GetFloat(prefsKey, 0f).ToString(); break; case "String": case "string": value = manager.Get(prefsKey, ""); break; default: json = true; goto case "string"; } return(true); }
public static IPrefsManager GetManager(string prefsManager) { IPrefsManager manager = null; switch (prefsManager) { case "_dataManager.EncryptedPrefsManager": manager = DataManager.Instance?.EncryptedPrefsManager ?? new EncryptedPlayerPrefs(new UnityJsonConverter()); break; case "_dataManager.DefaultPrefsManager": manager = DataManager.Instance?.DefaultPrefsManager ?? new DefaultPrefsManager(new UnityJsonConverter()); break; } return(manager); }