From 45147da5ec8797b1c31790f9243be4c4b165f240 Mon Sep 17 00:00:00 2001 From: JiWoong Sul Date: Wed, 17 Dec 2025 19:31:21 +0900 Subject: [PATCH] =?UTF-8?q?fix(notification):=20Act=20=EC=99=84=EB=A3=8C?= =?UTF-8?q?=20=ED=86=A0=EC=8A=A4=ED=8A=B8=20=EB=A9=94=EC=8B=9C=EC=A7=80=20?= =?UTF-8?q?=EC=9D=B8=EB=8D=B1=EC=8B=B1=20=EB=B2=84=EA=B7=B8=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - plotStageCount 인덱싱 오류 수정 (plotStageCount - 1 → -2) - 프롤로그 완료 시 "PROLOGUE COMPLETE!" 표시되도록 수정 - showActComplete(0)이 프롤로그 완료를 올바르게 처리 --- lib/src/core/notification/notification_service.dart | 6 +++++- lib/src/features/game/game_play_screen.dart | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/src/core/notification/notification_service.dart b/lib/src/core/notification/notification_service.dart index 926ec81..8ca9bf7 100644 --- a/lib/src/core/notification/notification_service.dart +++ b/lib/src/core/notification/notification_service.dart @@ -77,10 +77,14 @@ class NotificationService { } /// 막 완료 알림 (Act Complete) + /// actNumber: 0=프롤로그, 1=Act I, 2=Act II, ... void showActComplete(int actNumber) { + final title = actNumber == 0 + ? 'PROLOGUE COMPLETE!' + : 'ACT $actNumber COMPLETE!'; show(GameNotification( type: NotificationType.actComplete, - title: 'ACT $actNumber COMPLETE!', + title: title, duration: const Duration(seconds: 3), )); } diff --git a/lib/src/features/game/game_play_screen.dart b/lib/src/features/game/game_play_screen.dart index eeebfba..3361d95 100644 --- a/lib/src/features/game/game_play_screen.dart +++ b/lib/src/features/game/game_play_screen.dart @@ -105,10 +105,12 @@ class _GamePlayScreenState extends State _lastQuestCount = state.progress.questCount; // Act 완료 감지 (plotStageCount 증가) + // plotStageCount: 1=프롤로그 진행, 2=프롤로그 완료, 3=Act1 완료... + // 완료된 스테이지 인덱스 = plotStageCount - 2 (0=프롤로그, 1=Act1, ...) if (state.progress.plotStageCount > _lastPlotStageCount && _lastPlotStageCount > 0) { _specialAnimation = AsciiAnimationType.actComplete; - _notificationService.showActComplete(state.progress.plotStageCount - 1); + _notificationService.showActComplete(state.progress.plotStageCount - 2); _resetSpecialAnimationAfterFrame(); } _lastPlotStageCount = state.progress.plotStageCount;