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