# BT.Framework

BurningTimes 자체 범용 Unity 프레임워크.

## 개요

기존 외부 의존 코어(`BurningTimesCore`)가 이전·퇴사로 사용 불가해짐에 따라, BurningTimes가 자체적으로 보유·유지하는 범용 코어를 새로 구축한다. 이전 프로젝트 등 사내 프로젝트에서 반복되는 패턴을 Tier 단위로 흡수하여 차기 프로젝트부터 바로 활용 가능한 형태로 제공한다.

## 설치 (Unity Package Manager)

```
https://burning.i234.me/BurningTimes/BT.Framework.git
```

Unity 에디터 → Package Manager → `+` → **Add package from git URL...** → 위 URL 입력.

특정 버전 고정:
```
https://burning.i234.me/BurningTimes/BT.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` → `BurningTimes.*`
- **의존성 단절**: 프로젝트 특수 enum/테이블 참조 제거
- **제네릭 우선**: 하드코딩 메서드는 제네릭 팩토리로 재설계
- **싱글톤 최소화**: 필요 최소 외 DI/이벤트 기반으로 전환

자세한 내용은 `개발실/코어_설계/01_아키텍처_개요_v1.md`, `02_이전 프로젝트_추출대상_v1.md` 참조.

## 라이선스

사내 사용. 외부 배포 금지.
