Ejemplo n.º 1
0
        public object Convert(int operation, string packet)
        {
            object _packet = null;

            CharacterOperation key = (CharacterOperation)operation;

            JsonReaderSettings settings = new JsonReaderSettings();
            settings.AddTypeConverter (new VectorConverter());
            settings.AddTypeConverter (new QuaternionConverter());

            JsonReader jsonReader = new JsonReader(packet, settings);

            switch(key)
            {
                case CharacterOperation.GROUNDCLICK:
                    _packet = jsonReader.Deserialize<GroundClick>();
                    break;
                case CharacterOperation.INSTANTIATE:
                    _packet = jsonReader.Deserialize<InstantiateChar>();
                    break;
                case CharacterOperation.DESTROY:
                    _packet = jsonReader.Deserialize<DestroyChar>();
                    break;
                default:
                    break;
            }

            return _packet;
        }
Ejemplo n.º 2
0
        public object Convert(int operation, string packet)
        {
            object _packet = null;

            CharacterOperation key = (CharacterOperation)operation;

            JsonReaderSettings settings = new JsonReaderSettings();

            settings.AddTypeConverter(new VectorConverter());
            settings.AddTypeConverter(new QuaternionConverter());

            JsonReader jsonReader = new JsonReader(packet, settings);

            switch (key)
            {
            case CharacterOperation.GROUNDCLICK:
                _packet = jsonReader.Deserialize <GroundClick>();
                break;

            case CharacterOperation.INSTANTIATE:
                _packet = jsonReader.Deserialize <InstantiateChar>();
                break;

            case CharacterOperation.DESTROY:
                _packet = jsonReader.Deserialize <DestroyChar>();
                break;

            default:
                break;
            }

            return(_packet);
        }
Ejemplo n.º 3
0
    static JsonBase()
    {
        writesettings = new JsonWriterSettings();
        writesettings.AddTypeConverter(new Vector2Converter());
        writesettings.AddTypeConverter(new Vector3Converter());
        writesettings.AddTypeConverter(new ColorConverter());

        readersettings = new JsonReaderSettings();
        readersettings.AddTypeConverter(new Vector2Converter());
        readersettings.AddTypeConverter(new Vector3Converter());
        readersettings.AddTypeConverter(new ColorConverter());
    }
Ejemplo n.º 4
0
    public static T Deserialize <T>(string data)
    {
        data.Trim();
        JsonReaderSettings settings = new JsonReaderSettings();

        settings.AddTypeConverter(new VectorConverter());
        settings.AddTypeConverter(new ColorConverter());
        settings.AddTypeConverter(new QuaternionConverter());
        JsonReader reader = new JsonReader(data, settings);

        var bi = reader.Deserialize <T>();

        return(bi);
    }
Ejemplo n.º 5
0
    private void loadcb(string datatxt)
    {
        JsonReaderSettings setting = new JsonReaderSettings();

        setting.AddTypeConverter(new ColorConv());
        JsonReader reader = new JsonReader(datatxt, setting);

        Debug.Log("+++ Deserializing +++");
        listD = reader.Deserialize <gameLevelD> ();
        Debug.Log(datatxt);
    }
Ejemplo n.º 6
0
    private static void init()
    {
        if (!init_)
        {
            rsettings_.AddTypeConverter(color);
            wsettings_.AddTypeConverter(color);
            init_ = true;

            settings.PrettyPrint = false;
            settings.AddTypeConverter(color);
        }
    }
Ejemplo n.º 7
0
    public static T reader <T>(string json)
    {
        if (affixConverter_ == null)
        {
            affixConverter_ = new JsonData.AffixConverter();
            rsettings_.AddTypeConverter(affixConverter_);
            wsettings_.AddTypeConverter(affixConverter_);
        }
        JsonReader reader = new JsonReader(json, rsettings_);

        return((T)reader.Deserialize(typeof(T)));
    }
Ejemplo n.º 8
0
        public bool OpenDeserialize(byte[] bytes)
        {
            readerSettings = new JsonReaderSettings();
            readerSettings.AddTypeConverter(new VectorConverter());
            readerSettings.AddTypeConverter(new BoundsConverter());
            readerSettings.AddTypeConverter(new LayerMaskConverter());
            readerSettings.AddTypeConverter(new MatrixConverter());
            readerSettings.AddTypeConverter(new GuidConverter());
            readerSettings.AddTypeConverter(new UnityObjectConverter());

            str = new MemoryStream();
            str.Write(bytes, 0, bytes.Length);
            str.Position = 0;
            try {
                zip = ZipFile.Read(str);
            } catch (ZipException e) {
                //Catches exceptions when an invalid zip file is found
                Debug.LogWarning("Caught exception when loading from zip\n" + e);
                str.Close();
                return(false);
            }
            meta = DeserializeMeta(zip["meta" + jsonExt]);

            if (meta.version > AstarPath.Version)
            {
                Debug.LogWarning("Trying to load data from a newer version of the A* Pathfinding Project\nCurrent version: " + AstarPath.Version + " Data version: " + meta.version);
            }
            else if (meta.version < AstarPath.Version)
            {
                Debug.LogWarning("Trying to load data from an older version of the A* Pathfinding Project\nCurrent version: " + AstarPath.Version + " Data version: " + meta.version);
            }
            return(true);
        }
Ejemplo n.º 9
0
        public bool OpenDeserialize(byte[] bytes)
        {
            readerSettings = new JsonReaderSettings();
            readerSettings.AddTypeConverter(new VectorConverter());
            readerSettings.AddTypeConverter(new BoundsConverter());
            readerSettings.AddTypeConverter(new LayerMaskConverter());
            readerSettings.AddTypeConverter(new MatrixConverter());
            readerSettings.AddTypeConverter(new GuidConverter());
            readerSettings.AddTypeConverter(new UnityObjectConverter());

            str = new MemoryStream();
            str.Write(bytes, 0, bytes.Length);
            str.Position = 0;
            try {
                zip = ZipFile.Read(str);
            } catch (ZipException e) {
                //Catches exceptions when an invalid zip file is found
                Debug.LogWarning("Caught exception when loading from zip\n" + e);
                str.Close();
                return(false);
            }
            meta = DeserializeMeta(zip["meta" + jsonExt]);

            if (meta.version > AstarPath.Version)
            {
                Debug.LogWarning("Trying to load data from a newer version of the A* Pathfinding Project\nCurrent version: " + AstarPath.Version + " Data version: " + meta.version);
            }
            else if (meta.version < AstarPath.Version)
            {
                Debug.LogWarning("Trying to load data from an older version of the A* Pathfinding Project\nCurrent version: " + AstarPath.Version + " Data version: " + meta.version
                                 + "\nThis is usually fine, it just means you have upgraded to a new version.\nHowever node data (not settings) can get corrupted between versions, so it is recommended" +
                                 "to recalculate any caches (those for faster startup) and resave any files. Even if it seems to load fine, it might cause subtle bugs.\n");
            }
            return(true);
        }
        public void ShouldFillObject_FromAStarWACKTest2SerializedJson_GuidCorrectly()
        {
            var data = "{\"guid\":{\"value\":\"462c822a5bde4f2a-d776405ec65de86f\"},\"aspectRatio\":1,\"rotation\":{\"x\":0,\"y\":0,\"z\":0},\"center\":{\"x\":0,\"y\":-0.1,\"z\":0},\"unclampedSize\":{\"x\":100,\"y\":100},\"nodeSize\":1,\"collision\":{\"type\":\"Capsule\",\"diameter\":1,\"height\":2,\"collisionOffset\":0,\"rayDirection\":\"Both\",\"mask\":{\"value\":512},\"heightMask\":{\"value\":256},\"fromHeight\":100,\"thickRaycast\":false,\"thickRaycastDiameter\":1,\"up\":{\"x\":0,\"y\":1,\"z\":0},\"collisionCheck\":true,\"heightCheck\":true,\"unwalkableWhenNoGround\":true,\"use2D\":false},\"maxClimb\":0.4,\"maxClimbAxis\":1,\"maxSlope\":90,\"erodeIterations\":0,\"erosionUseTags\":false,\"erosionFirstTag\":1,\"autoLinkGrids\":false,\"autoLinkDistLimit\":10,\"neighbours\":\"Eight\",\"cutCorners\":true,\"penaltyPositionOffset\":0,\"penaltyPosition\":false,\"penaltyPositionFactor\":1,\"penaltyAngle\":false,\"penaltyAngleFactor\":100,\"textureData\":{\"enabled\":false,\"source\":null,\"factors\":[0,0,0],\"channels\":[\"None\",\"None\",\"None\"]},\"initialPenalty\":0,\"open\":true,\"name\":\"Grid Graph\",\"drawGizmos\":true,\"infoScreenOpen\":false,\"matrix\":{\"values\":[1,0,0,0,0,1,0,0,0,0,1,0,-50,-0.1,-50,1]}}";

            var target         = new GridGraph();
            var readerSettings = new JsonReaderSettings();

            readerSettings.AddTypeConverter(new GuidConverter());

            var serializer = new Pathfinding.Serialization.JsonFx.JsonReader(data, readerSettings);

            serializer.PopulateObject(target);

            var expected = new Guid("462c822a5bde4f2a-d776405ec65de86f");

            Assert.AreEqual(expected, target.guid);
        }
Ejemplo n.º 11
0
    /// <summary>
    /// Initializes the Json Object Conversion
    /// </summary>
    public static void initJsonObjectConversion()
    {
        if (isInitialized)
        {
            return;
        }

        jsonReaderSettings             = new JsonReaderSettings();
        jsonWriterSettings             = new JsonWriterSettings();
        jsonWriterSettings.PrettyPrint = false;

        jsonConverters = createJsonConverters();

        foreach (JsonConverter jsonConverter in jsonConverters)
        {
            jsonReaderSettings.AddTypeConverter(jsonConverter);
            jsonWriterSettings.AddTypeConverter(jsonConverter);
        }

        isInitialized = true;
    }
Ejemplo n.º 12
0
        public bool OpenDeserialize(byte[] bytes)
        {
#if !ASTAR_NO_JSON
            // Add some converters so that we can deserialize Unity builtin types
            readerSettings = new JsonReaderSettings();
            readerSettings.AddTypeConverter(new VectorConverter());
            readerSettings.AddTypeConverter(new BoundsConverter());
            readerSettings.AddTypeConverter(new LayerMaskConverter());
            readerSettings.AddTypeConverter(new MatrixConverter());
            readerSettings.AddTypeConverter(new GuidConverter());
            readerSettings.AddTypeConverter(new UnityObjectConverter());
#endif

            // Copy the bytes to a stream
            zipStream = new MemoryStream();
            zipStream.Write(bytes, 0, bytes.Length);
            zipStream.Position = 0;
            try {
                zip = ZipFile.Read(zipStream);
            } catch (Exception e) {
                // Catches exceptions when an invalid zip file is found
                Debug.LogError("Caught exception when loading from zip\n" + e);

                zipStream.Dispose();
                return(false);
            }

            meta = DeserializeMeta(zip["meta" + jsonExt]);

            if (FullyDefinedVersion(meta.version) > FullyDefinedVersion(AstarPath.Version))
            {
                Debug.LogWarning("Trying to load data from a newer version of the A* Pathfinding Project\nCurrent version: " + AstarPath.Version + " Data version: " + meta.version +
                                 "\nThis is usually fine as the stored data is usually backwards and forwards compatible." +
                                 "\nHowever node data (not settings) can get corrupted between versions (even though I try my best to keep compatibility), so it is recommended " +
                                 "to recalculate any caches (those for faster startup) and resave any files. Even if it seems to load fine, it might cause subtle bugs.\n");
            }
            else if (FullyDefinedVersion(meta.version) < FullyDefinedVersion(AstarPath.Version))
            {
                Debug.LogWarning("Trying to load data from an older version of the A* Pathfinding Project\nCurrent version: " + AstarPath.Version + " Data version: " + meta.version +
                                 "\nThis is usually fine, it just means you have upgraded to a new version." +
                                 "\nHowever node data (not settings) can get corrupted between versions (even though I try my best to keep compatibility), so it is recommended " +
                                 "to recalculate any caches (those for faster startup) and resave any files. Even if it seems to load fine, it might cause subtle bugs.\n");
            }
            return(true);
        }
Ejemplo n.º 13
0
    void PrintResults(string rawJson)
    {
        // Raw output:

        /*DB.Log(DC.Log("******** raw string from Twitter ********"));
         * DB.Log(DC.Log(rawJson));
         *
         *
         * // Turn the JSON into C# objects
         * var search = JsonReader.Deserialize<TwitterSearchResults>(rawJson);
         *
         *
         * // iterate through the array of results;
         * DB.Log(DC.Log("******** search results ********"));
         *
         *
         * foreach (var tweet in search.results) {
         *      DB.Log(DC.Log(tweet.from_user_name + " : " + tweet.text));
         * }
         *
         * DB.Log(DC.Log("******** serialize an entity ********"));
         *
         * JsonWriterSettings settings = new JsonWriterSettings();
         * settings.PrettyPrint = true;
         *
         * System.Text.StringBuilder output = new System.Text.StringBuilder();
         *
         * JsonWriter writer = new JsonWriter (output,settings);
         * writer.Write (search.results[0]);
         *
         * // this turns a C# object into a JSON string.
         * string json = output.ToString();//JsonWriter.Serialize();
         *
         * DB.Log(DC.Log(json));*/

        for (int i = 0; i < 10; i++)
        {
            System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
            watch.Start();
            System.Text.StringBuilder output = new System.Text.StringBuilder();

            Debug.Log("+++ Serializing +++");
            JsonWriterSettings settings = new JsonWriterSettings();
            settings.PrettyPrint = false;
            settings.AddTypeConverter(new VectorConverter());

            TestClass test = new TestClass();
            test.vec.y = 128.513589999F;
            JsonWriter writer = new JsonWriter(output, settings);

            Debug.Log("+++ Writing +++");
            writer.Write(test);

            if (i == 0)
            {
                Debug.Log(output.ToString());
            }

            Debug.Log("+++ Deserializing - Init +++");
            JsonReaderSettings settings2 = new JsonReaderSettings();
            settings2.AddTypeConverter(new VectorConverter());
            JsonReader reader = new JsonReader(output.ToString(), settings2);

            Debug.Log("+++ Deserializing +++");
            TestClass deserialized = reader.Deserialize <TestClass>();

            watch.Stop();
            Debug.Log((watch.ElapsedTicks * 0.0001).ToString("0.00"));
            Debug.Log(deserialized.vec.y.ToString("r"));
        }
    }