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);
        }
Exemple #9
0
    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));
    }
Exemple #10
0
 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>());
        }