// 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(); }
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()); }
// 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(); }
// 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(); }
// 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) { 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(); }
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()); }