public static void SetValue(ref KeyDefault <string> k, string value) { if ((NeedSetValue <string>(ref k, value) && !k.set) || (k.value != value)) { PlayerPrefs.SetString(k.key, value); } }
public static void SetValue(ref KeyDefault <bool> k, bool?value) { if ((NeedSetValue <bool>(ref k, value) && !k.set) || (k.value != value.Value)) { PlayerPrefs.SetInt(k.key, !value.Value ? 0 : 1); } }
public static void SetValue(ref KeyDefault <float> k, float?value) { if ((NeedSetValue <float>(ref k, value) && !k.set) || (k.value != value.Value)) { PlayerPrefs.SetFloat(k.key, value.Value); } }
public static string GetValue(ref KeyDefault <string> k) { if (k.Init()) { k.value = PlayerPrefs.GetString(k.key); } return(k.value); }
public static float GetValue(ref KeyDefault <float> k) { if (k.Init()) { k.value = PlayerPrefs.GetFloat(k.key); } return(k.value); }
public static int GetValue(ref KeyDefault <int> k) { if (k.Init()) { k.value = PlayerPrefs.GetInt(k.key); } return(k.value); }
public static bool GetValue(ref KeyDefault <bool> k) { if (k.Init()) { k.value = PlayerPrefs.GetInt(k.key) != 0; } return(k.value); }
private static bool NeedSetValue <T>(ref KeyDefault <T> k, T value) where T : class { if (NeedSetValue <T>(ref k, value == null)) { k.value = value; return(true); } return(false); }
private static bool NeedSetValue <T>(ref KeyDefault <T> k, T?value) where T : struct { if (NeedSetValue <T>(ref k, !value.HasValue)) { k.value = value.Value; return(true); } return(false); }
private static bool NeedSetValue <T>(ref KeyDefault <T> k, bool isNull) { if (isNull) { if (k.set || k.Init()) { k.Reset(); } return(false); } k.Init(); return(true); }