feat(ui): HP/MP 바 개선 및 전투 시스템 UI 업데이트
- HP/MP 변화 시 플래시 효과 및 변화량 표시 추가 - 전투 중 몬스터 HP 바 표시 기능 추가 - 몬스터 HP 바 Row 오버플로우 버그 수정 (Flexible 적용) - 전투 상태 및 이벤트 모델 개선 - 캐릭터 애니메이션 및 전투 컴포저 업데이트
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import 'dart:collection';
|
||||
|
||||
import 'package:askiineverdie/src/core/model/combat_event.dart';
|
||||
import 'package:askiineverdie/src/core/model/combat_state.dart';
|
||||
import 'package:askiineverdie/src/core/model/equipment_item.dart';
|
||||
import 'package:askiineverdie/src/core/model/equipment_slot.dart';
|
||||
@@ -107,7 +108,7 @@ class GameState {
|
||||
|
||||
/// 사망 정보 (Phase 4)
|
||||
///
|
||||
/// 사망 시점의 정보와 상실한 장비 목록을 기록
|
||||
/// 사망 시점의 정보와 상실한 아이템을 기록
|
||||
class DeathInfo {
|
||||
const DeathInfo({
|
||||
required this.cause,
|
||||
@@ -116,6 +117,8 @@ class DeathInfo {
|
||||
required this.goldAtDeath,
|
||||
required this.levelAtDeath,
|
||||
required this.timestamp,
|
||||
this.lostItemName,
|
||||
this.lastCombatEvents = const [],
|
||||
});
|
||||
|
||||
/// 사망 원인
|
||||
@@ -124,9 +127,12 @@ class DeathInfo {
|
||||
/// 사망시킨 몬스터/원인 이름
|
||||
final String killerName;
|
||||
|
||||
/// 상실한 장비 개수
|
||||
/// 상실한 장비 개수 (0 또는 1)
|
||||
final int lostEquipmentCount;
|
||||
|
||||
/// 제물로 바친 아이템 이름 (null이면 없음)
|
||||
final String? lostItemName;
|
||||
|
||||
/// 사망 시점 골드
|
||||
final int goldAtDeath;
|
||||
|
||||
@@ -136,21 +142,28 @@ class DeathInfo {
|
||||
/// 사망 시각 (밀리초)
|
||||
final int timestamp;
|
||||
|
||||
/// 사망 직전 전투 이벤트 (최대 10개)
|
||||
final List<CombatEvent> lastCombatEvents;
|
||||
|
||||
DeathInfo copyWith({
|
||||
DeathCause? cause,
|
||||
String? killerName,
|
||||
int? lostEquipmentCount,
|
||||
String? lostItemName,
|
||||
int? goldAtDeath,
|
||||
int? levelAtDeath,
|
||||
int? timestamp,
|
||||
List<CombatEvent>? lastCombatEvents,
|
||||
}) {
|
||||
return DeathInfo(
|
||||
cause: cause ?? this.cause,
|
||||
killerName: killerName ?? this.killerName,
|
||||
lostEquipmentCount: lostEquipmentCount ?? this.lostEquipmentCount,
|
||||
lostItemName: lostItemName ?? this.lostItemName,
|
||||
goldAtDeath: goldAtDeath ?? this.goldAtDeath,
|
||||
levelAtDeath: levelAtDeath ?? this.levelAtDeath,
|
||||
timestamp: timestamp ?? this.timestamp,
|
||||
lastCombatEvents: lastCombatEvents ?? this.lastCombatEvents,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user