feat(monster): 적 종별 모델(프리팹) + 스테이지 로스터 배치 #107

Merged
gahusb merged 12 commits from feature/monster-models into main 2026-07-03 01:34:27 +09:00
2 changed files with 2 additions and 2 deletions
Showing only changes of commit 3b678e35d1 - Show all commits

View File

@@ -69,7 +69,7 @@ export function buildMonsterInstance({ enemyId, enemy, name, guid, mapTag, x, gr
jsonString: {
name, path, nameEditable: true, enable: true, visible: true, localize: false,
displayOrder: 4, pathConstraints: '///', revision: 2,
origin: { type: 'Model', entry_id: enemyId, sub_entity_id: null, root_entity_id: guid, replaced_model_id: null },
origin: { type: 'Model', entry_id: modelEntryId(enemyId), sub_entity_id: null, root_entity_id: guid, replaced_model_id: null },
modelId: modelEntryId(enemyId),
'@components': components,
'@version': 1,

View File

@@ -42,7 +42,7 @@ test('buildMonsterModel: 원본 skeleton 비변형(순수 함수)', () => {
test('buildMonsterInstance: 모델 연결·컴포넌트 값', () => {
const e = buildMonsterInstance({ enemyId: 'slime', enemy, name: 'slime', guid: '00000bb9-0000-4000-8000-000000000bb9', mapTag: '03', x: 3.4, group: 'elite' });
assert.equal(e.jsonString.modelId, 'monster-slime');
assert.equal(e.jsonString.origin.entry_id, 'slime');
assert.equal(e.jsonString.origin.entry_id, 'monster-slime');
assert.equal(e.jsonString.origin.root_entity_id, e.id);
assert.equal(e.path, '/maps/map03/slime');
const comp = (t) => e.jsonString['@components'].find((c) => c['@type'] === t);