Files
Genarrative/src/components/npcVisualShared.ts
kdletters cbc27bad4a
Some checks failed
CI / verify (push) Has been cancelled
init with react+axum+spacetimedb
2026-04-26 18:06:23 +08:00

29 lines
735 B
TypeScript

import npcLayoutConfigJson from '../data/npcLayoutConfig.json';
export type NpcLayoutPart =
| 'body'
| 'head'
| 'facialHair'
| 'hair'
| 'headgear'
| 'hand'
| 'mainHand'
| 'offHand';
export type NpcLayoutConfig = Record<NpcLayoutPart, { x: number; y: number }>;
export const DEFAULT_NPC_LAYOUT_CONFIG = npcLayoutConfigJson as NpcLayoutConfig;
export function cloneNpcLayoutConfig(layout: NpcLayoutConfig): NpcLayoutConfig {
return {
body: { ...layout.body },
head: { ...layout.head },
facialHair: { ...layout.facialHair },
hair: { ...layout.hair },
headgear: { ...layout.headgear },
hand: { ...layout.hand },
mainHand: { ...layout.mainHand },
offHand: { ...layout.offHand },
};
}