public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var entity = value as Network.Entity; if (!string.IsNullOrEmpty(entity.CardID)) { EntityDB.SetName(entity.ID, entity.CardID); } var ownerId = 0; foreach (var tag in entity.Tags) { if (tag.Name == (int)GAME_TAG.CONTROLLER) { ownerId = tag.Value; } } if (ownerId != 0) { EntityDB.SetOwner(entity.ID, ownerId); } writer.WriteStartObject(); writer.WritePropertyName("CardID"); writer.WriteValue(entity.CardID); writer.WritePropertyName("ID"); writer.WriteValue(entity.ID); writer.WritePropertyName("__status"); writer.WriteValue(EntityDB.GetStatus(entity.ID)); writer.WritePropertyName("Tags"); serializer.Serialize(writer, entity.Tags); writer.WriteEndObject(); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var hist = value as Network.HistTagChange; writer.WriteStartObject(); writer.WritePropertyName("Entity"); writer.WriteValue(hist.Entity); writer.WritePropertyName("__status"); writer.WriteValue(EntityDB.GetStatus(hist.Entity)); writer.WritePropertyName("Change"); writer.WriteStartObject(); writer.WritePropertyName(Enum.GetName(typeof(GAME_TAG), hist.Tag)); var stringVal = TagFormat.GetValue(hist.Tag, hist.Value); if (stringVal == null) { writer.WriteValue(hist.Value); } else { writer.WriteValue(stringVal); } writer.WriteEndObject(); writer.WritePropertyName("Type"); writer.WriteValue(Enum.GetName(typeof(Network.PowerType), hist.Type)); writer.WriteEndObject(); }