refactor(slay-the-spire-like): update data export pattern
Convert static data exports to getter functions and update the ContentModule type to reflect these changes.
This commit is contained in:
parent
6577897a42
commit
b264cea305
|
|
@ -1,19 +1,17 @@
|
||||||
import getCards from "./card.csv";
|
|
||||||
import getEffects from "./effect.csv";
|
|
||||||
import getEncounters from "./encounter.csv";
|
|
||||||
import getEnemies from "./enemy.csv";
|
|
||||||
import getIntents from "./intent.csv";
|
|
||||||
import getItems, { Item } from "./item.csv";
|
import getItems, { Item } from "./item.csv";
|
||||||
|
|
||||||
|
export { default as getCards } from "./card.csv";
|
||||||
|
export { default as getEffects } from "./effect.csv";
|
||||||
|
export { default as getEncounters } from "./encounter.csv";
|
||||||
|
export { default as getEnemies } from "./enemy.csv";
|
||||||
|
export { default as getIntents } from "./intent.csv";
|
||||||
|
export { default as getItems } from "./item.csv";
|
||||||
export { default as dialogues } from "./dialogues/dialogues.yarnproject";
|
export { default as dialogues } from "./dialogues/dialogues.yarnproject";
|
||||||
export { addTriggers } from "./triggers";
|
export { addTriggers } from "./triggers";
|
||||||
|
|
||||||
export const cards = getCards();
|
const itemSet = ["剑", "盾", "水袋", "绷带"] as string[];
|
||||||
export const effects = getEffects();
|
export function getStartingItems(): Item[] {
|
||||||
export const encounters = getEncounters();
|
return itemSet.map(function (name): Item {
|
||||||
export const enemies = getEnemies();
|
return getItems().find((item: Item) => item.name === name) as Item;
|
||||||
export const intents = getIntents();
|
});
|
||||||
export const items = getItems();
|
}
|
||||||
|
|
||||||
export const startingItems: Item[] = (
|
|
||||||
["剑", "盾", "水袋", "绷带"] as string[]
|
|
||||||
).map((key) => items.find((item) => item.name === key) as Item);
|
|
||||||
|
|
|
||||||
|
|
@ -10,13 +10,14 @@ import {
|
||||||
import { Triggers } from "../system/combat/triggers";
|
import { Triggers } from "../system/combat/triggers";
|
||||||
|
|
||||||
export type ContentModule = Partial<{
|
export type ContentModule = Partial<{
|
||||||
cards: CardData[];
|
getCards: CardData[];
|
||||||
effects: EffectData[];
|
getEffects: EffectData[];
|
||||||
encounters: EncounterData[];
|
getEncounters: EncounterData[];
|
||||||
enemies: EnemyData[];
|
getEnemies: EnemyData[];
|
||||||
intents: IntentData[];
|
getIntents: IntentData[];
|
||||||
items: ItemData[];
|
getItems: ItemData[];
|
||||||
|
getStartingItems: ItemData[];
|
||||||
|
|
||||||
dialogues: YarnDialogues;
|
dialogues: YarnDialogues;
|
||||||
addTriggers: (triggers: Triggers) => void;
|
addTriggers: (triggers: Triggers) => void;
|
||||||
startingItems: ItemData[];
|
|
||||||
}>;
|
}>;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue