53 lines
1.9 KiB
Markdown
53 lines
1.9 KiB
Markdown
|
|
# NerdNavis.Framework
|
||
|
|
|
||
|
|
너드나비스 자체 범용 Unity 프레임워크.
|
||
|
|
|
||
|
|
## 개요
|
||
|
|
|
||
|
|
기존 외부 의존 코어(`NerdNavisCore`)가 이전·퇴사로 사용 불가해짐에 따라, 너드나비스가 자체적으로 보유·유지하는 범용 코어를 새로 구축한다. 수상한 잡화점 등 사내 프로젝트에서 반복되는 패턴을 Tier 단위로 흡수하여 차기 프로젝트부터 바로 활용 가능한 형태로 제공한다.
|
||
|
|
|
||
|
|
## 설치 (Unity Package Manager)
|
||
|
|
|
||
|
|
```
|
||
|
|
https://burning.i234.me/NerdNavis/NerdNavis.Framework.git
|
||
|
|
```
|
||
|
|
|
||
|
|
Unity 에디터 → Package Manager → `+` → **Add package from git URL...** → 위 URL 입력.
|
||
|
|
|
||
|
|
특정 버전 고정:
|
||
|
|
```
|
||
|
|
https://burning.i234.me/NerdNavis/NerdNavis.Framework.git#v0.1.0
|
||
|
|
```
|
||
|
|
|
||
|
|
## 폴더 구조
|
||
|
|
|
||
|
|
```
|
||
|
|
Runtime/
|
||
|
|
├── Core/
|
||
|
|
│ ├── Patterns/ # MonoSingleton 등
|
||
|
|
│ ├── Coroutine/ # CoroutineRunner
|
||
|
|
│ └── Util/ # ValidationEx, ObjectEx, FormatEx, EnumEx, EnumToInt, Log
|
||
|
|
├── UI/
|
||
|
|
│ ├── UGUI/ # InfiniteScrollView, SpriteAtlasRegistry, BackKeyHandler
|
||
|
|
│ └── Components/ # SafeAreaBorder
|
||
|
|
├── Addressable/ # AddressableHandle, AutoReleaseComponent (Tier 2)
|
||
|
|
└── Security/ # CryptoUtil, ICryptoProvider (Tier 3)
|
||
|
|
|
||
|
|
Editor/ # 에디터 전용 유틸
|
||
|
|
Tests/ # Runtime/Editor 테스트
|
||
|
|
Documentation~/ # Unity 임포트 제외 (~ 접두)
|
||
|
|
```
|
||
|
|
|
||
|
|
## 개발 원칙
|
||
|
|
|
||
|
|
- **네이밍**: `My*`·`u*` 접두 금지, PascalCase 준수, `FilGoodBandits` → `NerdNavis.*`
|
||
|
|
- **의존성 단절**: 프로젝트 특수 enum/테이블 참조 제거
|
||
|
|
- **제네릭 우선**: 하드코딩 메서드는 제네릭 팩토리로 재설계
|
||
|
|
- **싱글톤 최소화**: 필요 최소 외 DI/이벤트 기반으로 전환
|
||
|
|
|
||
|
|
자세한 내용은 `개발실/코어_설계/01_아키텍처_개요_v1.md`, `02_수상한잡화점_추출대상_v1.md` 참조.
|
||
|
|
|
||
|
|
## 라이선스
|
||
|
|
|
||
|
|
사내 사용. 외부 배포 금지.
|