fix(cinematic): 시네마틱/클리어 다이얼로그 표시 타이밍 수정
- 리스너 콜백 중 showDialog 호출로 인한 게임 멈춤 현상 수정 - addPostFrameCallback으로 다음 프레임에서 다이얼로그 표시 - 위젯 트리가 안정된 상태에서 showDialog 실행
This commit is contained in:
@@ -74,11 +74,16 @@ class _GamePlayScreenState extends State<GamePlayScreen>
|
||||
_lastAct = newAct;
|
||||
|
||||
// Phase 10: 엔딩 도달 시 클리어 처리 (시네마틱 대신 클리어 다이얼로그)
|
||||
// 다음 프레임에서 실행 (리스너 콜백 중 showDialog 문제 방지)
|
||||
if (newAct == StoryAct.ending && state.traits.level >= 100) {
|
||||
_handleGameClear(state);
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
if (mounted) _handleGameClear(state);
|
||||
});
|
||||
} else {
|
||||
// 일반 Act 전환 시 시네마틱 표시
|
||||
_showCinematicForAct(newAct);
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
if (mounted) _showCinematicForAct(newAct);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user