전투 화면 하단 카드 손패 UI + 5번 카드 이미지 적용 #4

Merged
gahusb merged 11 commits from feature/sts2-combat-layout into main 2026-06-06 12:00:08 +09:00
Showing only changes of commit 3b2e6afbcf - Show all commits

View File

@@ -231,17 +231,20 @@ if (txt.includes('/ui/DefaultGroup/CardHand')) {
process.exit(0);
}
const matches = txt.match(/\n {4}\]/g); // Entities 닫는 대괄호(4-space indent)는 파일 내 유일
if (!matches || matches.length !== 1) {
console.error(`Expected exactly one Entities closing bracket, found ${matches ? matches.length : 0}. Aborting.`);
const eol = txt.includes('\r\n') ? '\r\n' : '\n'; // 기존 파일의 줄바꿈 보존
const splicePoint = `${eol} ]`; // Entities 닫는 대괄호(4-space indent)
const count = txt.split(splicePoint).length - 1;
if (count !== 1) {
console.error(`Expected exactly one Entities closing bracket, found ${count}. Aborting.`);
process.exit(1);
}
const blocks = ents
.map((e) => JSON.stringify(e, null, 2).split('\n').map((l) => ' ' + l).join('\n'))
.join(',\n');
.map((e) => JSON.stringify(e, null, 2).split('\n').map((l) => ' ' + l).join(eol))
.join(',' + eol);
txt = txt.replace('\n ]', ',\n' + blocks + '\n ]');
txt = txt.replace(splicePoint, ',' + eol + blocks + eol + ' ]');
JSON.parse(txt); // 유효성 검증 (실패 시 throw)