public static async Task <IMaterialOption> Create(string key, CC0Asset value, Task <PreviewImage> favicon) { int previewImageSize = 128; int orgImgSize = 16; return(new CC0MaterialOption() { name = key, asset = value, variants = value.Downloads.Keys.ToArray(), selectedVariant = value.Downloads.Keys.Count - 1, orgImage = await favicon, previewImage = await GrabPreviewImage(value, previewImageSize), previewImageSize = previewImageSize, orgImgSize = orgImgSize }); }
private static async Task <PreviewImage> GrabPreviewImage(CC0Asset value, int previewImageSize) { string preview = value.PreviewSphere[$"{previewImageSize}-PNG"]; if (preview == null) { preview = value.PreviewSphere[$"{previewImageSize}-JPG"]; } if (preview == null) { preview = value.PreviewSphere.Last().Value; } if (preview != null) { return(await PreviewImage.LoadUri(preview)); } return(null); }