public void OldUsage2() { /* Its possible to stay closer to the original Unity syntax by using PlayerPrefsV2 where you typically * would write PlayerPrefs but this will couple the code to Unity. Typically Preferences.instance is * the recommended way to interact with persisted preferences. Below are some examples if you want to * stick to PlayerPrefsV2 anyways: */ // PlayerPrefsV2.SetBool and PlayerPrefsV2.GetBool example: bool myBool = true; PlayerPrefsV2.SetBool("myBool", myBool); Assert.AreEqual(myBool, PlayerPrefsV2.GetBool("myBool", defaultValue: false)); // PlayerPrefsV2.SetStringEncrypted and PlayerPrefsV2.GetStringDecrypted example: PlayerPrefsV2.SetStringEncrypted("mySecureString", "some text to encrypt", password: "******"); var decryptedAgain = PlayerPrefsV2.GetStringDecrypted("mySecureString", null, password: "******"); Assert.AreEqual("some text to encrypt", decryptedAgain); // PlayerPrefsV2.SetObject and PlayerPrefsV2.GetObject example (uses JSON internally): MyClass1 myObjectToSave = new MyClass1() { myString = "Im a string", myInt = 123 }; PlayerPrefsV2.SetObject("myObject1", myObjectToSave); MyClass1 objLoadedAgain = PlayerPrefsV2.GetObject <MyClass1>("myObject1", defaultValue: null); Assert.AreEqual(myObjectToSave.myInt, objLoadedAgain.myInt); }
public void ExampleUsage() { // PlayerPrefsV2.SetBool and PlayerPrefsV2.GetBool example: bool myBool = true; PlayerPrefsV2.SetBool("myBool", myBool); Assert.AreEqual(myBool, PlayerPrefsV2.GetBool("myBool", defaultValue: false)); // PlayerPrefsV2.SetStringEncrypted and PlayerPrefsV2.GetStringDecrypted example: PlayerPrefsV2.SetStringEncrypted("mySecureString", "some text to encrypt", password: "******"); var decryptedAgain = PlayerPrefsV2.GetStringDecrypted("mySecureString", null, password: "******"); Assert.AreEqual("some text to encrypt", decryptedAgain); // PlayerPrefsV2.SetObject and PlayerPrefsV2.GetObject example (uses JSON internally): MyClass1 myObjectToSave = new MyClass1() { myString = "Im a string", myInt = 123 }; PlayerPrefsV2.SetObject("myObject1", myObjectToSave); MyClass1 objLoadedAgain = PlayerPrefsV2.GetObject <MyClass1>("myObject1", defaultValue: null); Assert.AreEqual(myObjectToSave.myInt, objLoadedAgain.myInt); }
private object InternalSet(string key, object value) { object oldValue = InternalGet <object>(key, null); PlayerPrefsV2.SetString(key, ToJsonString(value)); return(oldValue); }
public async Task RemoveAll() { PlayerPrefsV2.DeleteAll(); if (fallbackStore != null) { await fallbackStore.RemoveAll(); } }
public void TestDefaultNullValue() { var key = "aKeyThatDoesNotExist"; PlayerPrefsV2.DeleteKey(key); // ensure it does not exist // WHYYYY would you doo that Unity: Assert.AreEqual("", UnityEngine.PlayerPrefs.GetString(key, defaultValue: null)); Assert.AreEqual(null, PlayerPrefsV2.GetString(key, defaultValue: null)); }
public void TestGetAndSetBool() { var key = "b1"; Assert.IsFalse(PlayerPrefsV2.GetBool(key, false)); PlayerPrefsV2.SetBool(key, true); Assert.IsTrue(PlayerPrefsV2.GetBool(key, false)); PlayerPrefsV2.DeleteKey(key); }
public async Task <bool> Remove(string key) { PlayerPrefsV2.DeleteKey(key); if (fallbackStore != null) { return(await fallbackStore.Remove(key)); } return(true); }
public async Task <bool> ContainsKey(string key) { var res = PlayerPrefsV2.HasKey(key); if (!res && fallbackStore != null) { return(await fallbackStore.ContainsKey(key)); } return(res); }
private void TestJsonSerialization() { var prefsKey = "testObj1"; var myObj = new MyClass1() { theCurrentTime = "It is " + DateTime.Now, myInt = 123 }; PlayerPrefsV2.SetObject(prefsKey, myObj); AssertV2.AreEqual(myObj.theCurrentTime, PlayerPrefsV2.GetObject <MyClass1>(prefsKey, null).theCurrentTime); AssertV2.AreEqual(myObj.myInt, PlayerPrefsV2.GetObject <MyClass1>(prefsKey, null).myInt); links.Get <Text>("JsonOutput").text = JsonWriter.GetWriter().Write(PlayerPrefsV2.GetObject <MyClass1>(prefsKey, null)); }
void Start() { links = gameObject.GetLinkMap(); toggle1().isOn = PlayerPrefsV2.GetBool(TOGGLE1, false); toggle2().isOn = PlayerPrefsV2.GetBool(TOGGLE2, false); toggle3().isOn = PlayerPrefsV2.GetBool(TOGGLE3, false); links.Get <Button>("SaveButton").SetOnClickAction(delegate { PlayerPrefsV2.SetBool(TOGGLE1, toggle1().isOn); PlayerPrefsV2.SetBool(TOGGLE2, toggle2().isOn); PlayerPrefsV2.SetBool(TOGGLE3, toggle3().isOn); gameObject.GetViewStack().SwitchBackToLastView(gameObject); }); }
public void TestGetAndSetEncyptedString() { var key = "b1"; var value = "val 1"; var password = "******"; PlayerPrefsV2.DeleteKey(key); Assert.AreEqual(null, PlayerPrefsV2.GetStringDecrypted(key, null, password)); PlayerPrefsV2.SetStringEncrypted(key, value, password); Assert.AreEqual(value, PlayerPrefsV2.GetStringDecrypted(key, null, password)); Assert.AreNotEqual(value, PlayerPrefsV2.GetStringDecrypted(key, null, "incorrect password")); Assert.AreNotEqual(value, PlayerPrefsV2.GetString(key, null)); PlayerPrefsV2.DeleteKey(key); }
public void TestGetAndSetComplexObjects() { var key = "b1"; var myObj = new MyClass1() { myString = "Im a string", myInt = 123 }; Assert.AreEqual(null, PlayerPrefsV2.GetObject <MyClass1>(key, null)); PlayerPrefsV2.SetObject(key, myObj); Assert.AreEqual(myObj.myString, PlayerPrefsV2.GetObject <MyClass1>(key, null).myString); Assert.AreEqual(myObj.myInt, PlayerPrefsV2.GetObject <MyClass1>(key, null).myInt); PlayerPrefsV2.DeleteKey(key); }
private T InternalGet <T>(string key, T defaultValue) { if (!PlayerPrefsV2.HasKey(key)) { return(defaultValue); } var value = PlayerPrefsV2.GetString(key); var wrapper = jsonReader.Read <ValueWrapper>(value); if (wrapper == null) { Log.e($"Entry not a ValueWrapper but instead: '{value}'"); return(defaultValue); } return(wrapper.GetValueAs <T>()); }