Files
chenmoranzhiandCursor ae13f1d06a 落地无头规则引擎与局内内容,便于命令行复现对战。
规则、卡包与测试放在同一套核心里,避免表现层自行结算。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 02:06:23 +08:00

31 lines
1.4 KiB
C#

using CardGame.Core;
namespace Game.Core.Tests;
internal static class Cards
{
private static readonly Dictionary<string, CardDefinition> ById = CardJson
.LoadCatalog(Path.Combine(AppContext.BaseDirectory, "content", "cards"));
public static IReadOnlyDictionary<string, CardDefinition> Catalog => ById;
public static CardDefinition Get(string id) => ById[id];
public static CardDefinition Spark => ById["card.example.spark"];
public static CardDefinition Wisp => ById["card.example.wisp"];
public static CardDefinition Salve => ById["card.example.salve"];
public static CardDefinition Ward => ById["card.example.ward"];
public static CardDefinition Lantern => ById["card.example.lantern"];
public static CardDefinition Fuse => ById["card.example.fuse"];
public static CardDefinition BaseField => ById["card.system.base_field"];
public static CardDefinition Patrol => ById["card.guard.patrol"];
public static CardDefinition Captain => ById["card.guard.captain"];
public static CardDefinition Believer => ById["card.cult.believer"];
public static CardDefinition Camp => ById["card.cult.camp"];
public static CardDefinition Crossbow => ById["card.guard.crossbow"];
public static CardDefinition Conscript => ById["card.guard.conscript"];
public static List<CardDefinition> Repeat(CardDefinition card, int count) =>
Enumerable.Repeat(card, count).ToList();
}