feat(arena): 아레나 전투 로그 위젯 추가

- ArenaCombatLog: 전투 로그 표시 위젯
- ArenaBattleScreen 연동
This commit is contained in:
JiWoong Sul
2026-01-06 19:19:05 +09:00
parent a2d62f1f4f
commit c3a8bc305a
2 changed files with 208 additions and 3 deletions

View File

@@ -8,6 +8,7 @@ import 'package:asciineverdie/src/core/model/combat_event.dart';
import 'package:asciineverdie/src/core/model/game_state.dart';
import 'package:asciineverdie/src/core/model/hall_of_fame.dart';
import 'package:asciineverdie/src/core/animation/race_character_frames.dart';
import 'package:asciineverdie/src/features/arena/widgets/arena_combat_log.dart';
import 'package:asciineverdie/src/features/arena/widgets/arena_result_panel.dart';
import 'package:asciineverdie/src/features/arena/widgets/ascii_disintegrate_widget.dart';
import 'package:asciineverdie/src/features/game/widgets/ascii_animation_card.dart';
@@ -376,8 +377,13 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
}
void _endBattle() {
// 최종 결과 계산
_result = _arenaService.executeCombat(widget.match);
// 시뮬레이션 HP 결과를 기반으로 최종 결과 계산
_result = _arenaService.createResultFromSimulation(
match: widget.match,
challengerHp: _challengerHp,
opponentHp: _opponentHp,
turns: _currentTurn,
);
// 전투 종료 상태로 전환 (인라인 결과 패널 표시)
setState(() {
@@ -836,7 +842,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
borderRadius: BorderRadius.circular(8),
border: Border.all(color: RetroColors.borderOf(context)),
),
child: CombatLog(entries: _battleLog),
child: ArenaCombatLog(entries: _battleLog),
);
}