feat(ui): 게임 화면 및 설정 화면 개선
- GamePlayScreen 개선 - GameSessionController 확장 - MobileCarouselLayout 기능 추가 - SettingsScreen 테스트 기능 추가
This commit is contained in:
@@ -4,6 +4,7 @@ import 'package:asciineverdie/src/core/engine/progress_loop.dart';
|
||||
import 'package:asciineverdie/src/core/engine/progress_service.dart';
|
||||
import 'package:asciineverdie/src/core/engine/resurrection_service.dart';
|
||||
import 'package:asciineverdie/src/core/engine/shop_service.dart';
|
||||
import 'package:asciineverdie/src/core/engine/test_character_service.dart';
|
||||
import 'package:asciineverdie/src/core/model/combat_stats.dart';
|
||||
import 'package:asciineverdie/src/core/model/game_state.dart';
|
||||
import 'package:asciineverdie/src/core/model/game_statistics.dart';
|
||||
@@ -367,6 +368,58 @@ class GameSessionController extends ChangeNotifier {
|
||||
}
|
||||
}
|
||||
|
||||
/// 테스트 캐릭터 생성 (디버그 모드 전용)
|
||||
///
|
||||
/// 현재 캐릭터를 레벨 100, 고급 장비, 다수의 스킬을 가진
|
||||
/// 캐릭터로 변환하여 명예의 전당에 등록하고 세이브를 삭제함.
|
||||
Future<bool> createTestCharacter() async {
|
||||
if (_state == null) {
|
||||
debugPrint('[TestCharacter] _state is null');
|
||||
return false;
|
||||
}
|
||||
|
||||
try {
|
||||
debugPrint('[TestCharacter] Creating test character...');
|
||||
|
||||
// 게임 일시정지
|
||||
await _stopLoop(saveOnStop: false);
|
||||
|
||||
// TestCharacterService로 테스트 캐릭터 생성
|
||||
final testService = TestCharacterService(
|
||||
config: progressService.config,
|
||||
rng: _state!.rng,
|
||||
);
|
||||
|
||||
final entry = testService.createTestCharacter(_state!);
|
||||
|
||||
debugPrint(
|
||||
'[TestCharacter] Entry created: ${entry.characterName} Lv.${entry.level}',
|
||||
);
|
||||
|
||||
// 명예의 전당에 등록
|
||||
final success = await _hallOfFameStorage.addEntry(entry);
|
||||
debugPrint('[TestCharacter] HallOfFame save result: $success');
|
||||
|
||||
if (success) {
|
||||
// 세이브 파일 삭제
|
||||
final deleteResult = await saveManager.deleteSave();
|
||||
debugPrint('[TestCharacter] Save deleted: ${deleteResult.success}');
|
||||
}
|
||||
|
||||
// 상태 초기화
|
||||
_state = null;
|
||||
_status = GameSessionStatus.idle;
|
||||
notifyListeners();
|
||||
|
||||
debugPrint('[TestCharacter] Complete');
|
||||
return success;
|
||||
} catch (e, st) {
|
||||
debugPrint('[TestCharacter] ERROR: $e');
|
||||
debugPrint('[TestCharacter] StackTrace: $st');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// 플레이어 부활 처리 (상태만 업데이트, 게임 재개는 별도로)
|
||||
///
|
||||
/// HP/MP 회복, 빈 슬롯에 장비 자동 구매
|
||||
|
||||
Reference in New Issue
Block a user