# Unity 에디터에서 작업해야 할 내용

## 1단계: TaroDev's Ultimate 2D Controller 다운로드 및 임포트

### 다운로드 방법

1. **GitHub에서 다운로드**
   - 링크: https://github.com/Matthew-J-Spencer/Ultimate-2D-Controller
   - 페이지 우측 상단의 **"Code"** 버튼 클릭
   - **"Download ZIP"** 선택
   - 다운로드한 ZIP 파일 압축 해제

2. **Unity 프로젝트로 임포트**
   - Unity Editor에서 `testUnity2D` 프로젝트 열기
   - 압축 해제한 폴더에서 다음 파일들을 Unity로 드래그:
     - `Scripts/` 폴더 전체 → Unity의 `Assets/` 폴더
     - `Prefabs/` 폴더 (있다면) → Unity의 `Assets/Prefabs/`
   
3. **컨트롤러 테스트**
   - Sample Scene이 있다면 열어서 플레이 테스트
   - 이동, 점프, 벽 슬라이딩 등 기본 기능 확인

---

## 2단계: 게임 에셋 임포트

1. **게임잼 소스 폴더**의 이미지들을 Unity로 드래그 앤 드롭
   - 경로: `c:\Users\SSAFY\Downloads\게임잼 소스`
   - 대상: Unity의 `Assets/Sprites` 폴더 (없으면 생성)
   
2. **폰트 파일** 임포트
   - `Griun_PolFairness-Rg.ttf` → `Assets/Fonts` 폴더 (없으면 생성)

3. **폴더 구조 정리**
   ```
   Assets/
   ├── Scripts/
   │   ├── Player/ (TaroDev 컨트롤러)
   │   ├── Core/ (추가할 스크립트들)
   │   ├── Visual/
   │   ├── Mechanics/
   │   └── UI/
   ├── Sprites/
   │   ├── Characters/
   │   ├── Environment/
   │   └── UI/
   ├── Prefabs/
   ├── Scenes/
   └── Fonts/
   ```

---

## 3단계: 스크립트 구현 후 에디터 작업

AI가 스크립트를 작성한 후, 다음 작업을 에디터에서 진행해야 합니다:

### Player 설정
- [ ] Player 프리팹 찾기 (TaroDev 컨트롤러에 포함)
- [ ] Player에 `MaskSwitcher` 컴포넌트 추가 (스크립트 작성 후)
- [ ] Input 설정에 Shift 키 바인딩 추가

### Scene 구성
- [ ] 새 씬 생성: `Stage1_Fear`, `Stage2_Sadness`, 등
- [ ] 각 씬에 Player 프리팹 배치
- [ ] 플랫폼 GameObject 생성 및 배치
- [ ] 각 오브젝트에 `MaskObject` 컴포넌트 추가
- [ ] Visible In Mask 설정 (Black/White/Both)

### Camera 설정
- [ ] Main Camera에 Cinemachine 추가 (선택사항)
- [ ] 또는 Camera Follow 스크립트 추가
- [ ] Player를 따라가도록 설정

### Prefab 생성
- [ ] **Emotion Orb** 프리팹 (5가지 색상별)
  - Purple (Stage 1)
  - Blue (Stage 2)
  - Red (Stage 3)
  - Green (Stage 4)
  - Yellow (Stage 5)
- [ ] **Platform Prefabs**
  - Basic Platform
  - Collapsing Platform (Stage 2)
  - Bridge Half (Stage 4)
- [ ] **Mechanics Prefabs**
  - Wind Zone (Stage 3)
  - Switch & Door (Stage 3)
  - Rail Segment (Stage 5)

### Material 설정
- [ ] Black Mask Material 생성 (흰색 선, 검은 배경)
- [ ] White Mask Material 생성 (검은색 선, 흰 배경)

### UI 설정
- [ ] Canvas 생성
- [ ] Emotion Inventory UI 배치 (화면 한쪽 구석)
- [ ] Main Menu Scene 생성
- [ ] Stage Selection UI 구성

---

## 4단계: 레벨 디자인

각 스테이지별로 플랫폼과 오브젝트 배치:

### Stage 1: Fear (Tutorial)
- [ ] 간단한 플랫폼 배치
- [ ] 가면 전환이 필요한 간단한 퍼즐
- [ ] 끝에 보라색 Emotion Orb 배치

### Stage 2: Sadness
- [ ] Collapsing Platform 배치
- [ ] 떨어지는 물방울 장애물 (선택사항)
- [ ] 파란색 Emotion Orb

### Stage 3: Anger
- [ ] Wind Zone 배치
- [ ] Switch-Door 메커니즘
- [ ] 날카로운 장애물
- [ ] 빨간색 Emotion Orb

### Stage 4: Love
- [ ] Bridge 메커니즘 (절반씩 보이는 다리)
- [ ] 초록색 Emotion Orb

### Stage 5: Joy
- [ ] Rail 메커니즘
- [ ] 이전 메커니즘 조합
- [ ] 노란색 Emotion Orb

---

## 5단계: 테스트 및 빌드

- [ ] 각 스테이지 플레이 테스트
- [ ] 가면 전환 메커니즘 테스트
- [ ] 감정 수집 및 색상 적용 확인
- [ ] 난이도 조정
- [ ] 최종 빌드 (File → Build Settings → Build)

---

## 참고사항

### TaroDev 컨트롤러 특징
- **Jump Buffering**: 점프 버튼을 땅에 닿기 직전에 눌러도 점프 가능
- **Coyote Time**: 플랫폼에서 떨어진 직후에도 점프 가능
- **Variable Jump Height**: 점프 버튼을 누르는 시간에 따라 점프 높이 조절
- **Wall Sliding**: 벽에 붙어서 천천히 미끄러짐

### 작업 분담
- **AI가 작성**: 모든 C# 스크립트 (MaskManager, MaskObject, EmotionOrb 등)
- **사용자가 작업**: Unity Editor에서의 시각적 배치, 프리팹 설정, 레벨 디자인
