fix(animation): ASCII 애니메이션 높낮이/공백 문제 수정

- walkingAnimation, townAnimation 4줄 → 3줄 통일
- character_frames.dart 모든 프레임 폭 6자로 통일
- _compose() 이펙트 Y 위치 동적 계산 (하드코딩 제거)
- withShield() 3줄 캐릭터용으로 수정 (index 3 → index 1)
- BattleComposer 캔버스 시스템 및 배경 합성 추가
- 무기 카테고리별 이펙트, 몬스터 크기/색상 시스템 구현
This commit is contained in:
JiWoong Sul
2025-12-13 18:22:50 +09:00
parent e30177e788
commit 598c25e4c9
14 changed files with 2052 additions and 355 deletions

View File

@@ -95,6 +95,7 @@ class TaskInfo {
required this.type,
this.monsterBaseName,
this.monsterPart,
this.monsterLevel,
});
final String caption;
@@ -106,6 +107,9 @@ class TaskInfo {
/// 킬 태스크의 전리품 부위 (예: "claw", "tail", "*"는 WinItem)
final String? monsterPart;
/// 킬 태스크의 몬스터 레벨 (애니메이션 크기 결정용)
final int? monsterLevel;
factory TaskInfo.empty() =>
const TaskInfo(caption: '', type: TaskType.neutral);
@@ -114,12 +118,14 @@ class TaskInfo {
TaskType? type,
String? monsterBaseName,
String? monsterPart,
int? monsterLevel,
}) {
return TaskInfo(
caption: caption ?? this.caption,
type: type ?? this.type,
monsterBaseName: monsterBaseName ?? this.monsterBaseName,
monsterPart: monsterPart ?? this.monsterPart,
monsterLevel: monsterLevel ?? this.monsterLevel,
);
}
}