public static JsonObject ToJson(Dominion.GameDescription gameDescription)
{
JsonObject root = new Windows.Data.Json.JsonObject();
root.Add(jsonNameUseShelters, JsonValue.CreateBooleanValue(gameDescription.useShelters));
root.Add(jsonNameUseColonyAndPlatinum, JsonValue.CreateBooleanValue(gameDescription.useColonyAndPlatinum));
string banePileName = gameDescription.BanePileProgrammaticName();
if (banePileName != null)
{
root.Add(jsonNameBane, JsonValue.CreateStringValue(banePileName));
}
JsonArray kingdomArray = new JsonArray();
foreach (var cardName in gameDescription.KingdomPileProgramaticNames())
{
kingdomArray.Add(JsonValue.CreateStringValue(cardName));
}
root.Add(jsonNameKingdomPiles, kingdomArray);
JsonArray eventArray = new JsonArray();
foreach (var cardName in gameDescription.EventProgramaticNames())
{
eventArray.Add(JsonValue.CreateStringValue(cardName));
}
root.Add(jsonNameEvents, eventArray);
JsonArray projectArray = new JsonArray();
foreach (var cardName in gameDescription.ProjectProgramaticNames())
{
projectArray.Add(JsonValue.CreateStringValue(cardName));
}
root.Add(jsonNameProjects, projectArray);
JsonArray landmarkArray = new JsonArray();
foreach (var cardName in gameDescription.LandmarkProgramaticNames())
{
projectArray.Add(JsonValue.CreateStringValue(cardName));
}
root.Add(jsonNameLandmarks, projectArray);
return(root);
}