Add duty free systems and travel stage updates

This commit is contained in:
jongjae0305
2026-07-09 02:50:48 +09:00
parent 445d74d462
commit 750e9ce0a6
340 changed files with 21825 additions and 1197 deletions
+11 -8
View File
@@ -51,9 +51,9 @@
`PlatformSpawner.TutorialStep`은 독립 `CourseStep` 타입으로 분리했습니다.
맵별 생성 코드는 `Maps/Definitions/*Map.cs`로 분리했습니다.
아직 코스 배열은 `CourseProfile`로 묶이지 않고 `openingSteps`, `loopSteps`로 직접 연결되어 있습니다.
튜토리얼/일본/중국/미국 코스는 `CourseProfile`로 묶었고, fallback 코스는 `FallbackCourseProfile`로 이동했습니다.
최종적으로는 `CourseProfile`독립 타입으로 만들고, 맵은 코스 프로필만 참조하게 합니다.
`MapDefinition` `courseProfile`우선 사용하고, 예전 `openingSteps`, `loopSteps`는 호환용 fallback으로만 남깁니다.
## 목표 폴더 구조
@@ -144,7 +144,7 @@ Assets/Scripts
| --- | --- |
| 거리/시간/클리어 판정 | `StageProgressTracker` |
| 도착 게이트 생성/정리 | `FinishGateController` |
| 목숨/피격/무적/방어막 | `DamageController` |
| 목숨/피격/무적 | `DamageController` |
| 아이템 효과 | `ItemEffectController` |
| 왼쪽/오른쪽 HUD | `GameplayHudView` |
| 튜토리얼 안내창 표시 | `TutorialGuideView` |
@@ -159,9 +159,10 @@ Assets/Scripts
```text
MapDefinition
-> CourseProfile
-> CourseStep[]
-> Maps/Definitions/*Map.cs가 맵별 코스 배열을 직접 생성
-> PlatformSpawner fallback 패턴도 직접 생성
-> Maps/Definitions/*Map.cs가 맵별 CourseProfile을 참조
-> PlatformSpawner fallback도 FallbackCourseProfile에서 받음
```
목표:
@@ -194,13 +195,15 @@ MapDefinition
- `MapDatabase.cs`는 목록 관리만 담당
- `TutorialIncheonMap`, `JapanMap`, `ChinaMap`, `AmericaMap`으로 나눔
3. 다음: 코스 프로필 분리
3. 완료: 코스 프로필 분리
- 튜토리얼 코스와 일반 맵 코스를 각각 `CourseProfile`로 분리
- 일본, 중국, 미국은 튜토리얼 패턴을 복붙하지 않음
4. `GameFlowManager` 화면 View 분리
4. 진행: `GameFlowManager` 화면 View 분리
- 결과 화면, 면세점, 디버그 메뉴부터 분리
- 위치 조정 중인 UI 값은 유지한 채 파일만 나눔
- 현재 결과/면세점/디버그 메뉴 UI 생성 코드는 `Flow/Screens` partial 파일로 이동
- 구매/저장/장착 로직은 아직 `GameFlowManager` 본체에 남겨 안정성을 유지
5. `GameManager` UI/진행 분리
- HUD와 튜토리얼 안내창을 먼저 분리
@@ -214,6 +217,6 @@ MapDefinition
## 주의 사항
- 기능 변경과 파일 분리를 동시에 많이 하지 않습니다.
- UI 위치 조정이 끝난 화면은 좌표를 유지한 채 View로 옮깁니다.
- UI 위치 조정이 끝난 화면은 좌표를 유지한 채 View로 옮깁니다. 사용자가 직접 맞춘 면세점 위치값은 변경하지 않습니다.
- 맵별 난이도 조정은 코스 구조 분리 후 진행합니다.
- 삭제보다 이동을 우선하고, 빌드가 깨지지 않는 작은 단위로 진행합니다.