# Game Engine I · Week 07

Unity 6000.6.1f1 · Universal 2D · Input System · TextMeshPro

## 이어 쓰는 레벨

Week5_MicroLevel의 지형·보석 3개·가시·목표 지점을 유지하고, Week6의 Idle / Move / Jump / Fall / Dash 애니메이션을 적용했습니다.

- `Scenes/Week07_Start.unity`: 공통 출발 씬. UI 없음. 5주차 수집·복귀·목표 규칙과 6주차 애니메이션·입력이 연결되어 있습니다.
- `Reference/Week07_HUD_Complete.unity`: 1교시 완성 참고. 기존 PlayerProgress를 읽는 HUD와 30초 표시. 0초가 되어도 결과 화면은 아직 없습니다.
- `Reference/Week07_Complete.unity`: 2교시 완성 참고. 시작·HUD·결과·재시작이 연결되어 있습니다.
- `Week07_MicroLevel.unity`: 제작한 최종 작업 씬. 강좌 패키지에는 작업 파일을 덮어쓰지 않도록 이 경로를 제외했습니다.

## 수업 순서

1. 기존 5·6주차 프로젝트를 백업하고 `week-07-course.unitypackage`를 Import합니다. 기존 PlayerProgress.cs에는 값을 읽는 두 메서드만 추가됩니다. 직접 수정한 스크립트가 있다면 Import 목록에서 해당 스크립트를 제외하고 메서드를 병합하세요.
2. 출발 씬을 열고 Save As로 `Assets/Week7/Week07_HUD.unity`를 저장합니다. Canvas부터 만들고, HudPractice로 값→Text를 익힌 뒤 HUDDisplay로 실제 보석 수를 읽습니다.
3. 2교시에는 Save As로 `Assets/Week7/Week07_MicroLevel.unity`를 만듭니다. HUDDisplay를 비활성화하고 Week07GameManager를 연결합니다.
4. 작업 씬의 PlayerProgress / Collectible / HazardZone / GoalZone 컴포넌트를 제거하고 보석·가시·목표에 Week07 버전을 붙입니다. 원본 .cs 파일과 5·6주차 씬은 유지합니다. Prefab에 Apply하지 않습니다.
5. Build Profiles의 Scene List에 작업 씬만 체크하고 Build and Run합니다. 패키지 Import는 ProjectSettings나 Scene List를 바꾸지 않습니다.

참고 씬은 비교용입니다. 실습 중인 씬에 추가로 열거나 합치지 마세요. 씬 하나만 열어 실행합니다.

## 게임 규칙

Ready에서는 이동·점프·대시·시간이 멈춥니다. Start → Playing.
보석 3개를 모아도 게임은 계속됩니다. 오른쪽 목표 지점에 도착하면 Won.
보석이 부족하면 목표에서 안내만 보여 줍니다.
가시 또는 추락은 시작점 복귀이며, 수집 수와 남은 시간을 유지합니다.
0초는 Lost. 결과 화면의 Restart는 위치·보석·점수·시간을 초기화한 Ready로 돌아갑니다.
A/D 또는 방향키 이동, Space 점프, Left Shift 대시.

## 프로젝트 전제

기존 Game Engine I 5·6주차 프로젝트에 Import하는 자료입니다. Input System, Universal RP, uGUI/TMP가 설치되어 있어야 합니다. Ground 레이어는 6번이며 Sorting Layers는 Background, Actors, Foreground를 사용합니다. 빈 프로젝트용 템플릿이 아닙니다.

Editor/와 Verification/는 제작·검증 도구이며 수업용 unitypackage에는 포함하지 않습니다. 승인된 UI 원본 이미지는 UI/Sprites 아래에 있습니다.
