Beispiel #1
0
        public void SerializeToString_SerializeString_RightDeserialized()
        {
            var actual       = SHSerializer.SerializeToString("teste");
            var deserialized = SHSerializer.DeserializeFromString <string>(actual);

            Assert.AreEqual("teste", deserialized);
        }
Beispiel #2
0
        public void SerializeVector2_Vector2_RightDeserialized()
        {
            var actual       = SHSerializer.SerializeVector2(new Vector2(1.2f, 3.4f));
            var deserialized = SHSerializer.DeserializeVector2(actual);

            Assert.AreEqual(1.2f, deserialized.x);
            Assert.AreEqual(3.4f, deserialized.y);
        }
Beispiel #3
0
        public virtual void Modify(TEntity entity)
        {
            var serialized = SHSerializer.SerializeToString(entity);

            var key = GetKey(entity.Id);

            SHLog.Debug("Serializing key '{0}' with raw value: '{1}'", key, serialized);
            PlayerPrefs.SetString(key, serialized);
        }
Beispiel #4
0
        public void SerializeVector3_Vector3_RightDeserialized()
        {
            var actual       = SHSerializer.SerializeVector3(new Vector3(1.2f, 3.4f, 5.6f));
            var deserialized = SHSerializer.DeserializeVector3(actual);

            Assert.AreEqual(1.2f, deserialized.x);
            Assert.AreEqual(3.4f, deserialized.y);
            Assert.AreEqual(5.6f, deserialized.z);
        }
Beispiel #5
0
        public void SerializeToString_SerializeObject_RightDeserialized()
        {
            var stub = new SerializationTargetStub
            {
                Boolean = true,
                Integer = 123,
                Text    = "teste"
            };

            var actual       = SHSerializer.SerializeToString(stub);
            var deserialized = SHSerializer.DeserializeFromString <SerializationTargetStub>(actual);

            Assert.IsTrue(deserialized.Boolean);
            Assert.AreEqual(123, deserialized.Integer);
            Assert.AreEqual("teste", deserialized.Text);
        }
Beispiel #6
0
        public virtual IQueryable <TEntity> All()
        {
            var allIds = GetAllIds();

            var result = new List <TEntity>();

            foreach (var id in allIds)
            {
                var longId   = long.Parse(id);
                var key      = GetKey(longId);
                var rawValue = PlayerPrefs.GetString(key);

                Debug.LogFormat("Deserializing entity with key {0}. Raw value: '{1}'", key, rawValue);

                TEntity entity;

                if (!ClearEmptyEntities && String.IsNullOrEmpty(rawValue))
                {
                    entity    = m_createNew();
                    entity.Id = longId;
                }
                else
                {
                    try
                    {
                        entity = SHSerializer.DeserializeFromString <TEntity>(rawValue);

                        if (ClearEmptyEntities && entity == null)
                        {
                            Debug.LogWarningFormat("Clear entity with key {0} because it is null.", key);
                            Delete(longId);
                            continue;
                        }
                    }
                    catch (FormatException ex)
                    {
                        throw new FormatException(String.Format("Error trying to deserialize value key '{0}' with raw value: {1}", key, rawValue), ex);
                    }
                }

                result.Add(entity);
            }

            return(result.AsQueryable());
        }
Beispiel #7
0
    public static void Example()
    {
        Vector2    vVector2  = UnityEngine.Random.insideUnitCircle;
        Vector3    vVector3  = UnityEngine.Random.onUnitSphere;
        Quaternion qQuater   = UnityEngine.Random.rotation;
        float      fFloat    = UnityEngine.Random.value;
        int        iInt      = UnityEngine.Random.Range(0, 10000);
        double     dDouble   = (double)UnityEngine.Random.Range(0, 10000);
        string     strString = "Brundle Fly";
        bool       bBool     = UnityEngine.Random.value < 0.5f ? true : false;

        Debug.Log("--- Before ---");
        Debug.Log(string.Format("vVector2 : {0}, vVector3 : {1}, qQuater : {2}, fFloat : {3}, iInt : {4}, dDouble : {5}, strString : {6}, bBool : {7}",
                                vVector2, vVector3, qQuater, fFloat, iInt, dDouble, strString, bBool));

        Debug.Log("--- Serialize ---");
        SHSerializer pSerializer = new SHSerializer();

        pSerializer.Serialize(vVector2);
        pSerializer.Serialize(vVector3);
        pSerializer.Serialize(qQuater);
        pSerializer.Serialize(fFloat);
        pSerializer.Serialize(iInt);
        pSerializer.Serialize(dDouble);
        pSerializer.Serialize(strString);
        pSerializer.Serialize(bBool);

        Debug.Log("--- Deserialize ---");
        SHSerializer pDeSerializer = new SHSerializer(pSerializer.ByteArray);

        vVector2  = pDeSerializer.DeserializeVector2();
        vVector3  = pDeSerializer.DeserializeVector3();
        qQuater   = pDeSerializer.DeserializeQuaternion();
        fFloat    = pDeSerializer.DeserializeFloat();
        iInt      = pDeSerializer.DeserializeInt();
        dDouble   = pDeSerializer.DeserializeDouble();
        strString = pDeSerializer.DeserializeString();
        bBool     = pDeSerializer.DeserializeBool();

        Debug.Log("--- After ---");
        Debug.Log(string.Format("vVector2 : {0}, vVector3 : {1}, qQuater : {2}, fFloat : {3}, iInt : {4}, dDouble : {5}, strString : {6}, bBool : {7}",
                                vVector2, vVector3, qQuater, fFloat, iInt, dDouble, strString, bBool));
    }