// Reader
    public static object JsonDeserializer(Jboy.JsonReader reader)
    {
        reader.ReadObjectStart();
        reader.ReadPropertyName("r");
        var r = (float)reader.ReadNumber();

        reader.ReadPropertyName("g");
        var g = (float)reader.ReadNumber();

        reader.ReadPropertyName("b");
        var b = (float)reader.ReadNumber();

        reader.ReadPropertyName("a");
        var a = (float)reader.ReadNumber();

        reader.ReadObjectEnd();

        return(new Color(r, g, b, a));
    }
    // Reader
    public static object JsonDeserializer(Jboy.JsonReader reader)
    {
        var slot = new ArtifactSlot();

        reader.ReadObjectStart();

        reader.ReadPropertyName("requiredLevel");
        slot.requiredLevel = (byte)reader.ReadNumber();

        reader.ReadPropertyName("artifactId");
        int itemId = (int)reader.ReadNumber();

        if (itemId != -1)
        {
            slot.artifact = new Artifact(itemId);
        }

        reader.ReadObjectEnd();

        return(slot);
    }
    static void ReadConfig(string configFile)
    {
        string configData = File.ReadAllText(configFile);

        Jboy.JsonReader reader = new Jboy.JsonReader(configData);
        reader.ReadObjectStart();

        reader.ReadPropertyName("LobbyIP");
        LobbyIP = Jboy.Json.ReadObject <string>(reader);

        reader.ReadPropertyName("LobbyPort");
        LobbyPort = Jboy.Json.ReadObject <int>(reader);

        reader.ReadPropertyName("ProxyIP");
        ProxyIP = Jboy.Json.ReadObject <string>(reader);

        reader.ReadPropertyName("ProxyPort");
        ProxyPort = Jboy.Json.ReadObject <int>(reader);

        reader.ReadObjectEnd();
        reader.Close();
    }
Exemple #4
0
    // Read a new class instance from JSON
    public static T ReadJSONClassInstance <T>(Jboy.JsonReader reader) where T : new()
    {
        T instance = new T();

        reader.ReadObjectStart();

        string propName;
        bool   success  = true;
        var    typeInfo = typeof(T);

        while (true)
        {
            success = reader.TryReadPropertyName(out propName);

            if (success)
            {
                var field = typeInfo.GetField(propName);

                if (field == null)
                {
                    LogManager.DB.LogError("Field does not exist: '" + propName + "'");
                    continue;
                }

                if (!field.IsStatic)
                {
                    field.SetValue(instance, GenericSerializer.ReadJSONValue(reader, field));
                }
            }
            else
            {
                break;
            }
        }

        reader.ReadObjectEnd();

        return(instance);
    }
Exemple #5
0
    // Reader
    public static object JsonDeserializer(Jboy.JsonReader reader)
    {
        if (reader.TryReadNull())
        {
            return(null);
        }

        var itemSlot = new ItemSlot();

        reader.ReadObjectStart();

        // ID
        reader.ReadPropertyName("item");
        itemSlot.item = Jboy.Json.ReadObject <Item>(reader);

        // Count
        reader.ReadPropertyName("count");
        itemSlot.count = (ulong)reader.ReadNumber();

        reader.ReadObjectEnd();

        return(itemSlot);
    }
Exemple #6
0
    // Reader
    public static object JsonDeserializer(Jboy.JsonReader reader)
    {
        if (reader.TryReadNull())
        {
            return(null);
        }

        reader.ReadObjectStart();

        // ID
        reader.ReadPropertyName("id");
        var itemId = (int)reader.ReadNumber();
        var item   = ItemFactory.CreateFromId(itemId);

        // Meta data
        if (item != null)
        {
            item.ReadItemMetaData(reader);
        }

        reader.ReadObjectEnd();

        return(item);
    }