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();
    }
Example #2
0
    // Writer
    public static void JsonSerializer(Jboy.JsonWriter writer, object instance)
    {
        Color col = (Color)instance;

        writer.WriteObjectStart();
        writer.WritePropertyName("r");
        writer.WriteNumber(col.r);
        writer.WritePropertyName("g");
        writer.WriteNumber(col.g);
        writer.WritePropertyName("b");
        writer.WriteNumber(col.b);
        writer.WritePropertyName("a");
        writer.WriteNumber(col.a);
        writer.WriteObjectEnd();
    }
Example #3
0
    static void CreateConfig(string configFile)
    {
        Jboy.JsonWriter writer = new Jboy.JsonWriter(true, true, 2);
        writer.WriteObjectStart();

        writer.WritePropertyName("LobbyIP");
        Jboy.Json.WriteObject(LobbyIP, writer);

        writer.WritePropertyName("LobbyPort");
        Jboy.Json.WriteObject(LobbyPort, writer);

        writer.WritePropertyName("ProxyIP");
        Jboy.Json.WriteObject(ProxyIP, writer);

        writer.WritePropertyName("ProxyPort");
        Jboy.Json.WriteObject(ProxyPort, writer);

        writer.WriteObjectEnd();

        File.WriteAllText(configFile, writer.ToString());
    }
Example #4
0
    // Writer
    public static void JsonSerializer(Jboy.JsonWriter writer, object instance)
    {
        var slot = (ArtifactSlot)instance;

        writer.WriteObjectStart();

        writer.WritePropertyName("requiredLevel");
        writer.WriteNumber(slot.requiredLevel);

        writer.WritePropertyName("artifactId");
        if (slot.artifact != null)
        {
            writer.WriteNumber(slot.artifact.id);
        }
        else
        {
            writer.WriteNumber(-1);
        }

        writer.WriteObjectEnd();
    }
Example #5
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 #6
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();
    }
Example #7
0
    public void Create(string configFile)
    {
        Jboy.JsonWriter writer = new Jboy.JsonWriter(true, true, 8);

        writer.WriteObjectStart();

        writer.WritePropertyName("ServerName");
        Jboy.Json.WriteObject(gameName, writer);
        writer.WritePropertyName("MasterRoleName");
        Jboy.Json.WriteObject(masterRoleName, writer);
        writer.WritePropertyName("Password");
        Jboy.Json.WriteObject(gamePassword, writer);
        writer.WritePropertyName("MapName");
        Jboy.Json.WriteObject(mapName, writer);
        writer.WritePropertyName("GameMode");
        Jboy.Json.WriteObject(gameMode, writer);
        writer.WritePropertyName("GameType");
        Jboy.Json.WriteObject(gameType, writer);
        writer.WritePropertyName("MapSeed");
        Jboy.Json.WriteObject(seedStr, writer);
        writer.WritePropertyName("TeamNum");
        Jboy.Json.WriteObject(teamNum, writer);
        writer.WritePropertyName("NumPerTeam");
        Jboy.Json.WriteObject(numPerTeam, writer);
        writer.WritePropertyName("TerrainType");
        Jboy.Json.WriteObject(terrainType, writer);
        writer.WritePropertyName("VegetationType");
        Jboy.Json.WriteObject(vegetationId, writer);
        writer.WritePropertyName("ClimateType");
        Jboy.Json.WriteObject(sceneClimate, writer);
        writer.WritePropertyName("MonsterYes");
        Jboy.Json.WriteObject(monsterYes, writer);
        writer.WritePropertyName("IsPrivate");
        Jboy.Json.WriteObject(isPrivate, writer);
        writer.WritePropertyName("ProxyServer");
        Jboy.Json.WriteObject(proxyServer, writer);
        writer.WritePropertyName("UnlimitedRes");
        Jboy.Json.WriteObject(unlimitedRes, writer);
        writer.WritePropertyName("TerrainHeight");
        Jboy.Json.WriteObject(terrainHeight, writer);
        writer.WritePropertyName("MapSize");
        Jboy.Json.WriteObject(mapSize, writer);
        writer.WritePropertyName("RiverDensity");
        Jboy.Json.WriteObject(riverDensity, writer);
        writer.WritePropertyName("RiverWidth");
        Jboy.Json.WriteObject(riverWidth, writer);
        //a0.95
        writer.WritePropertyName("PlainHeight");
        Jboy.Json.WriteObject(plainHeight, writer);
        writer.WritePropertyName("Flatness");
        Jboy.Json.WriteObject(flatness, writer);
        writer.WritePropertyName("BridgeMaxHeight");
        Jboy.Json.WriteObject(bridgeMaxHeight, writer);
        writer.WritePropertyName("AICount");
        Jboy.Json.WriteObject(AICount, writer);

        writer.WritePropertyName("UseSkillTree");
        Jboy.Json.WriteObject(useSkillTree, writer);
        writer.WritePropertyName("DropDeadPercent");
        Jboy.Json.WriteObject(dropDeadPercent, writer);
        writer.WritePropertyName("UID");
        Jboy.Json.WriteObject(uid, writer);
        writer.WritePropertyName("ScriptsAvailable");
        Jboy.Json.WriteObject(scriptsAvailable, writer);

        writer.WriteObjectEnd();

        System.IO.File.WriteAllText(configFile, writer.ToString());
    }