# 유틸리티 스크립트

JSON 데이터 탐색 및 정보 조회를 위한 유틸리티 도구 모음

---

## 📋 스크립트 목록

### list_asset_types.py

**용도**: AnimMontage.json의 모든 Asset 타입 목록 출력

**사용 예시**:
```bash
python utils/list_asset_types.py
```

**출력**:
```
총 743개 Asset 발견
Asset 타입 분포:
- AnimMontage: 743개
```

**활용 사례**:
- AnimMontage.json에 어떤 타입의 Asset이 있는지 확인
- 새로운 데이터 소스 추가 시 구조 파악

---

### list_datatables.py

**용도**: DataTable.json의 모든 DataTable Asset 목록 출력

**사용 예시**:
```bash
python utils/list_datatables.py
```

**출력**:
```
총 23개 DataTable 발견:
1. DT_CharacterStat (10 rows)
2. DT_CharacterAbility (10 rows)
3. DT_Skill (91 rows)
4. DT_NPCAbility (15 rows)
...
```

**활용 사례**:
- DataTable.json에 어떤 테이블이 있는지 확인
- 새로운 DataTable 추가 시 Row 개수 확인
- 데이터 구조 탐색

---

## 🔧 개발자 가이드

### 새로운 유틸리티 추가 방법

1. **파일 생성**: `utils/` 폴더에 새 스크립트 생성
2. **명명 규칙**: `{동사}_{대상}.py` (예: `extract_skill_names.py`)
3. **공통 패턴 준수**:

```python
#!/usr/bin/env python3
"""
[스크립트 용도 설명]
"""

import json
from pathlib import Path

# 프로젝트 루트
PROJECT_ROOT = Path(__file__).parent.parent.parent
DATA_DIR = PROJECT_ROOT / "원본데이터"

def main():
    """메인 실행 함수"""
    # JSON 로드
    with open(DATA_DIR / "DataTable.json", 'r', encoding='utf-8') as f:
        data = json.load(f)

    # 로직 구현
    # ...

    # 결과 출력
    print(f"결과: ...")

if __name__ == "__main__":
    main()
```

4. **README 업데이트**: 이 파일에 새 스크립트 설명 추가

---

## 📚 관련 파일

- **../config.py** - 프로젝트 전역 설정
- **../../원본데이터/** - JSON 데이터 소스
- **../../ARCHITECTURE.md** - 데이터 구조 상세 문서

---

**작성자**: AI-assisted Development Team
**최종 업데이트**: 2025-10-27
