Пример #1
0
    public void TestEnum()
    {
        var t    = new TestClassWithEnum(TestDirection.DOWN);
        var json = Piekson.ToJson(t);

        Assert.AreEqual("{\"TestDirection\":\"DOWN\"}", json);
    }
Пример #2
0
    public void TestType()
    {
        var t    = new TestClassWithType(typeof(TestClassWithType));
        var json = Piekson.ToJson(t);

        Assert.AreEqual("{\"type\":\"TestNamespace.TestClassWithType, Assembly-CSharp-Editor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\"}", json);
    }
Пример #3
0
    public void TestLoopToJson()
    {
        var t    = new TestLoop(10);
        var json = Piekson.ToJson(t);

        Assert.AreEqual("{\"a\":10}", json);
    }
Пример #4
0
    public void TestNullValue()
    {
        var t    = new TestMainClass();
        var json = Piekson.ToJson(t);

        Assert.AreEqual("{}", json);
    }
Пример #5
0
    public void TestNestedToJson()
    {
        TestMainClass t    = new TestMainClass(new TestNestedClass());
        var           json = Piekson.ToJson(t);

        Assert.AreEqual("{\"nested\":{\"test\":100.01}}", json);
    }
Пример #6
0
    public void TestToJson()
    {
        TestClass t    = new TestClass(3.14f, true, 123, "hel\\\"lo");
        var       json = Piekson.ToJson(t);

        Assert.AreEqual("{\"a\":123,\"b\":\"hel\\\\\\\"lo\",\"d\":3.14,\"state\":true}", json);
    }
Пример #7
0
    public void TestNestedGenericCollectionToJson()
    {
        var t = new TestNestedCollection(new List <string> {
            "Arnold", "Marian", "Fedrynand"
        });
        var json = Piekson.ToJson(t);

        Assert.AreEqual("{\"names\":[\"Arnold\",\"Marian\",\"Fedrynand\"]}", json);
    }
Пример #8
0
    public void TestGenericCollectionToJson()
    {
        List <int> list = new List <int> {
            1, 2, 3, 4, 5
        };
        var json = Piekson.ToJson(list);

        Assert.AreEqual("[1,2,3,4,5]", json);
    }
Пример #9
0
    public void TestDictionaryToJson()
    {
        var t = new Dictionary <string, int>()
        {
            { "a", 1 },
            { "b", 2 },
            { "c", 3 },
            { "d", 4 },
        };
        var json = Piekson.ToJson(t);

        Assert.AreEqual("{\"a\":1,\"b\":2,\"c\":3,\"d\":4}", json);
    }
Пример #10
0
    public void Serialize()
    {
        var carSerialized = false;
        var levelDto      = new LevelDto();

        for (int i = 0; i < transform.childCount; i++)
        {
            var spriteRenderer        = transform.GetChild(i).GetComponent <SpriteRenderer>();
            var spriteShapeController = transform.GetChild(i).GetComponent <SpriteShapeController>();
            var prefab = transform.GetChild(i).GetComponent <ImPrefabSerializeMe>();

            if (spriteRenderer != null)
            {
                levelDto.sprites.Add(new SpriteDto(spriteRenderer));
            }

            if (spriteShapeController != null)
            {
                levelDto.SpriteShapeControllers.Add(new SpriteShapeControllerDto(spriteShapeController));
            }

            if (prefab != null)
            {
                if (prefab.GetComponent <Car>() != null)
                {
                    carSerialized = true;
                }
                levelDto.Prefabs.Add(new Prefab(prefab));
            }
        }

        if (carSerialized)
        {
            var level = ScriptableObject.CreateInstance <Level>();
            level.Json = Piekson.ToJson(levelDto);
            AssetDatabase.CreateAsset(level,
                                      "Assets/Levels/" + WorldType + "/" + SceneManager.GetActiveScene().name + ".asset");
            Debug.Log(Piekson.ToJson(levelDto));
        }
        else
        {
            Debug.Log("Car is missing!");
        }
    }