Town / Tutorial / Main Cycle Refactor (2025-07-22)
목표
- 타운 → 전투 사이클 진입 시 타운 맵이 전투 사이클에 포함되지 않도록 분리
- 튜토리얼 사이클과 일반 전투 사이클을 완전히 독립적으로 처리
MapManager가 초기화 시점(Start)이 아닌 포탈 트리거 시점에 사이클을 결정하도록 구조 개선
핵심 변경 사항
1. MapManager.Init(MapCycleType type) 추가
public IEnumerator Init(MapCycleType cycleType)
- 호출 시점에 사이클 타입을 넘겨 초기화
- 타운 진입 포탈에서
MapCycleType.Main, 튜토리얼에서는 MapCycleType.Tutorial 지정 가능
2. TownPortalTrigger.cs
if (mapManager != null)
{
StartCoroutine(mapManager.Init(MapCycleType.Main));
}
3. ResetToTown() 메서드 유지
GameManager의 리스폰 루틴 등에서 호출을 위해 필요
- 전투 사이클 재시작 시 타운으로 리셋하는 용도로 활용
버그 수정 사항
Init을 IEnumerator로 선언하지 않아 StartCoroutine 호출 불가 오류 발생 → 해결
- 전투 사이클에 타운이 포함되는 문제:
Init에서 사이클 생성만 전투로, 첫 맵 활성화는 타운으로 유지하여 전투 순환에서 제외
후속 작업 제안
MapMode와 MapCycleType 통합 여부 논의
- 맵 캐싱/풀링 고려
- 클리어 후 자동 복귀 루틴 개선