diff --git a/lib/src/features/game/game_session_controller.dart b/lib/src/features/game/game_session_controller.dart index 9bffa6b..f169faa 100644 --- a/lib/src/features/game/game_session_controller.dart +++ b/lib/src/features/game/game_session_controller.dart @@ -294,10 +294,10 @@ class GameSessionController extends ChangeNotifier { // 비모바일 플랫폼 또는 테스트 환경에서는 무시 } - // 속도 부스트 상태 복원 (앱 재시작 대응) - _speedBoostManager.restoreFromMonetization( - monetization: _monetization, - loop: null, // startNew에서 loop 생성 후 적용됨 + // 앱 재시작 시 임시 버프 초기화 (배속, 자동부활은 세션 한정) + _monetization = _monetization.copyWith( + speedBoostEndMs: null, + autoReviveEndMs: null, ); // 복귀 보상 체크 (Phase 7) diff --git a/lib/src/features/game/managers/speed_boost_manager.dart b/lib/src/features/game/managers/speed_boost_manager.dart index 2e6a4f2..bcd865c 100644 --- a/lib/src/features/game/managers/speed_boost_manager.dart +++ b/lib/src/features/game/managers/speed_boost_manager.dart @@ -194,30 +194,6 @@ class SpeedBoostManager { return monetization.copyWith(speedBoostEndMs: null); } - /// 세이브에서 복원된 MonetizationState 기반으로 배속 상태 복원 - /// - /// 앱 재시작 후 로드 시 호출. speedBoostEndMs가 미래면 배속 재활성화. - void restoreFromMonetization({ - required MonetizationState monetization, - required ProgressLoop? loop, - }) { - final endMs = monetization.speedBoostEndMs; - if (endMs == null) return; - - final now = DateTime.now().millisecondsSinceEpoch; - if (now < endMs) { - // 아직 만료되지 않음 → 배속 재활성화 - _isSpeedBoostActive = true; - if (loop != null) { - savedSpeedMultiplier = loop.speedMultiplier; - loop.updateAvailableSpeeds([speedBoostMultiplier]); - } - debugPrint( - '[SpeedBoost] Restored from save, ${(endMs - now) ~/ 1000}s remaining', - ); - } - } - /// 부스트 상태에 따른 초기 배속 설정 계산 /// /// startNew() 호출 시 사용