Example #1
0
    // Writes all fields of a class instance
    public static void WriteJSONClassInstance <T>(Jboy.JsonWriter writer, T instance, HashSet <string> fieldFilter = null, HashSet <string> fieldExclude = null)
    {
        if (instance == null)
        {
            writer.WriteNull();
            return;
        }

        // Type pointer
        Type type = typeof(T);

        // Obtain all fields
        FieldInfo[] fields = type.GetFields();

        // Loop through all fields
        writer.WriteObjectStart();

        foreach (var field in fields)
        {
            if (field.IsStatic)
            {
                continue;
            }

            // Get property name and value
            string name = field.Name;

            if (fieldFilter != null && !fieldFilter.Contains(name))
            {
                continue;
            }

            if (fieldExclude != null && fieldExclude.Contains(name))
            {
                continue;
            }

            object val = field.GetValue(instance);

            //LogManager.General.Log("Writing '" + name + "'"); // with value '" + ((double)val).ToString() + "'");
            //LogManager.General.Log("ValueType " + val.GetType().ToString());
            //LogManager.General.Log("Value " + val.ToString());

            // Write them to the JSON stream
            writer.WritePropertyName(name);
            GenericSerializer.WriteJSONValue(writer, val);
        }

        writer.WriteObjectEnd();
    }
    // Writer
    public static void JsonSerializer(Jboy.JsonWriter writer, object instance)
    {
        writer.WriteNull();

        /*var tex = (Texture2D)instance;
         * writer.WriteObjectStart();
         *
         * writer.WritePropertyName("width");
         * writer.WriteNumber(tex.width);
         *
         * writer.WritePropertyName("height");
         * writer.WriteNumber(tex.height);
         *
         * writer.WritePropertyName("data");
         * Jboy.Json.WriteObject(tex.EncodeToPNG(), writer);
         *
         * writer.WriteObjectEnd();*/
    }
Example #3
0
    // Writer
    public static void JsonSerializer(Jboy.JsonWriter writer, object instance)
    {
        if (instance == null)
        {
            writer.WriteNull();
            return;
        }

        var item = (Item)instance;

        writer.WriteObjectStart();

        // ID
        writer.WritePropertyName("id");
        writer.WriteNumber(item.id);

        // Meta data
        item.WriteItemMetaData(writer);

        writer.WriteObjectEnd();
    }
Example #4
0
    // Writer
    public static void JsonSerializer(Jboy.JsonWriter writer, object instance)
    {
        if (instance == null)
        {
            writer.WriteNull();
            return;
        }

        var slot = (ItemSlot)instance;

        writer.WriteObjectStart();

        // ID
        writer.WritePropertyName("item");
        Jboy.Json.WriteObject(slot.item, writer);

        // Count
        writer.WritePropertyName("count");
        writer.WriteNumber(slot.count);

        writer.WriteObjectEnd();
    }