Initial commit. Load list of cards via config (packs or single cards).

This commit is contained in:
ftc
2025-11-11 23:39:33 +03:00
commit 8a38d907e0
10 changed files with 254 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
using ArkhamPnP.Data;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
namespace ArkhamPnP
{
internal class ArkhamDBApi
{
const string BASE_URL = "https://ru.arkhamdb.com/api/";
HttpClient http = new HttpClient();
public ArkhamDBApi()
{
}
public async Task<Card> GetCard(string id)
{
var result = await http.GetAsync(BASE_URL + "public/card/" + id + ".json?_format=json");
var content = await result.Content.ReadAsStringAsync();
var doc = JsonDocument.Parse(content);
return new Card(doc.RootElement);
}
public async Task<List<Card>> GetPack(string code)
{
var result = await http.GetAsync(BASE_URL + "public/cards/" + code + ".json?_format=json");
var content = await result.Content.ReadAsStringAsync();
var doc = JsonDocument.Parse(content);
var cards = new List<Card>();
foreach (var item in doc.RootElement.EnumerateArray())
{
cards.Add(new Card(item));
}
return cards;
}
}
}