public static World Load(ImmutableList <TileType> tileTypes, string json, DateTime currentTime) { var world = new World(tileTypes, currentTime); var tiles = JsonConvert.DeserializeObject <Tile[]>( json, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Auto }); foreach (var tile in tiles) { world.FastAddTile(tile); } return(world); }