refactor(combat): 죽은 단일적 코드 제거 + HP_BAR_W 상수 추출
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -12,7 +12,6 @@ for (const id of CARDS.starterDeck) {
|
|||||||
if (!ENEMIES.enemies[ENEMIES.activeEnemy]) {
|
if (!ENEMIES.enemies[ENEMIES.activeEnemy]) {
|
||||||
throw new Error(`[gen-slaydeck] activeEnemy가 enemies에 없음: ${ENEMIES.activeEnemy}`);
|
throw new Error(`[gen-slaydeck] activeEnemy가 enemies에 없음: ${ENEMIES.activeEnemy}`);
|
||||||
}
|
}
|
||||||
const ACTIVE_ENEMY = ENEMIES.enemies[ENEMIES.activeEnemy];
|
|
||||||
|
|
||||||
const MAP = JSON.parse(readFileSync('data/map.json', 'utf8'));
|
const MAP = JSON.parse(readFileSync('data/map.json', 'utf8'));
|
||||||
for (const id of MAP.start) {
|
for (const id of MAP.start) {
|
||||||
@@ -74,15 +73,6 @@ function luaCardsTable(cards) {
|
|||||||
function luaDeckTable(deck) {
|
function luaDeckTable(deck) {
|
||||||
return `self.DrawPile = { ${deck.map(luaStr).join(', ')} }`;
|
return `self.DrawPile = { ${deck.map(luaStr).join(', ')} }`;
|
||||||
}
|
}
|
||||||
function luaIntentsTable(intents) {
|
|
||||||
const lines = intents.map((it) => `\t{ kind = ${luaStr(it.kind)}, value = ${it.value} },`);
|
|
||||||
return `self.EnemyIntents = {\n${lines.join('\n')}\n}`;
|
|
||||||
}
|
|
||||||
function intentText(it) {
|
|
||||||
if (it.kind === 'Attack') return `의도: 공격 ${it.value}`;
|
|
||||||
if (it.kind === 'Defend') return `의도: 방어 ${it.value}`;
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
const UI_FILE = 'ui/DefaultGroup.ui';
|
const UI_FILE = 'ui/DefaultGroup.ui';
|
||||||
const COMMON_FILE = 'Global/common.gamelogic';
|
const COMMON_FILE = 'Global/common.gamelogic';
|
||||||
@@ -96,6 +86,7 @@ const SKILL = { r: 0.46, g: 0.68, b: 0.52, a: 1 };
|
|||||||
|
|
||||||
const MAX_MONSTERS = 4;
|
const MAX_MONSTERS = 4;
|
||||||
|
|
||||||
|
const HP_BAR_W = 120;
|
||||||
const CARD_W = 180;
|
const CARD_W = 180;
|
||||||
const CARD_H = 250;
|
const CARD_H = 250;
|
||||||
const CARD_SPACING = 200;
|
const CARD_SPACING = 200;
|
||||||
@@ -477,7 +468,7 @@ function upsertUi() {
|
|||||||
componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent',
|
componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent',
|
||||||
displayOrder: 2,
|
displayOrder: 2,
|
||||||
components: [
|
components: [
|
||||||
transform({ parentW: SLOT_W, parentH: SLOT_H, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0.5, y: 0.5 }, size: { x: 120, y: 14 }, pos: { x: 0, y: -14 } }),
|
transform({ parentW: SLOT_W, parentH: SLOT_H, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0.5, y: 0.5 }, size: { x: HP_BAR_W, y: 14 }, pos: { x: 0, y: -14 } }),
|
||||||
sprite({ color: { r: 0.18, g: 0.05, b: 0.06, a: 1 }, type: 1 }),
|
sprite({ color: { r: 0.18, g: 0.05, b: 0.06, a: 1 }, type: 1 }),
|
||||||
],
|
],
|
||||||
}));
|
}));
|
||||||
@@ -486,7 +477,7 @@ function upsertUi() {
|
|||||||
componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent',
|
componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent',
|
||||||
displayOrder: 3,
|
displayOrder: 3,
|
||||||
components: [
|
components: [
|
||||||
transform({ parentW: SLOT_W, parentH: SLOT_H, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0, y: 0.5 }, size: { x: 120, y: 14 }, pos: { x: -60, y: -14 } }),
|
transform({ parentW: SLOT_W, parentH: SLOT_H, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0, y: 0.5 }, size: { x: HP_BAR_W, y: 14 }, pos: { x: -HP_BAR_W / 2, y: -14 } }),
|
||||||
sprite({ color: { r: 0.86, g: 0.35, b: 0.32, a: 1 }, type: 1 }),
|
sprite({ color: { r: 0.86, g: 0.35, b: 0.32, a: 1 }, type: 1 }),
|
||||||
],
|
],
|
||||||
}));
|
}));
|
||||||
@@ -1529,7 +1520,7 @@ end
|
|||||||
local ratio = 0
|
local ratio = 0
|
||||||
if maxHp > 0 then ratio = hp / maxHp end
|
if maxHp > 0 then ratio = hp / maxHp end
|
||||||
if ratio < 0 then ratio = 0 end
|
if ratio < 0 then ratio = 0 end
|
||||||
local w = 120 * ratio
|
local w = ${HP_BAR_W} * ratio
|
||||||
e.UITransformComponent.RectSize = Vector2(w, 14)`, [
|
e.UITransformComponent.RectSize = Vector2(w, 14)`, [
|
||||||
{ Type: 'string', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'path' },
|
{ Type: 'string', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'path' },
|
||||||
{ Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'hp' },
|
{ Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'hp' },
|
||||||
|
|||||||
Reference in New Issue
Block a user