From 6577897a42270842dad04dc54fca6f02a6883395 Mon Sep 17 00:00:00 2001 From: hypercross Date: Sun, 19 Apr 2026 15:10:17 +0800 Subject: [PATCH] feat(samples/slay-the-spire-like): add ContentModule type definition --- src/samples/slay-the-spire-like/data/index.ts | 7 +++--- src/samples/slay-the-spire-like/data/types.ts | 22 +++++++++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 src/samples/slay-the-spire-like/data/types.ts diff --git a/src/samples/slay-the-spire-like/data/index.ts b/src/samples/slay-the-spire-like/data/index.ts index 09f7ac1..aa61130 100644 --- a/src/samples/slay-the-spire-like/data/index.ts +++ b/src/samples/slay-the-spire-like/data/index.ts @@ -1,5 +1,6 @@ -import * as desert from './desert'; +import * as desert from "./desert"; +export type { ContentModule } from "./types"; export default { - desert -} \ No newline at end of file + desert, +}; diff --git a/src/samples/slay-the-spire-like/data/types.ts b/src/samples/slay-the-spire-like/data/types.ts new file mode 100644 index 0000000..e4e24d8 --- /dev/null +++ b/src/samples/slay-the-spire-like/data/types.ts @@ -0,0 +1,22 @@ +import { LoadResult as YarnDialogues } from "yarn-spinner-loader"; +import { + CardData, + EffectData, + EncounterData, + EnemyData, + IntentData, + ItemData, +} from "../system/types"; +import { Triggers } from "../system/combat/triggers"; + +export type ContentModule = Partial<{ + cards: CardData[]; + effects: EffectData[]; + encounters: EncounterData[]; + enemies: EnemyData[]; + intents: IntentData[]; + items: ItemData[]; + dialogues: YarnDialogues; + addTriggers: (triggers: Triggers) => void; + startingItems: ItemData[]; +}>;