feat(core): 엔진, 모델, 애니메이션 개선
- ProgressService 로직 개선 - CombatCalculator 업데이트 - GameState, MonsterCombatStats 확장 - CanvasBattleComposer 개선
This commit is contained in:
@@ -68,15 +68,17 @@ class CanvasBattleComposer {
|
||||
bool isDot = false,
|
||||
bool isBlock = false,
|
||||
bool isParry = false,
|
||||
bool hideMonster = false,
|
||||
}) {
|
||||
final layers = <AsciiLayer>[
|
||||
_createBackgroundLayer(environment, globalTick),
|
||||
_createCharacterLayer(phase, subFrame, attacker),
|
||||
// PvP 모드: 몬스터 대신 상대 캐릭터(좌우 반전) 표시
|
||||
if (isPvP)
|
||||
_createOpponentCharacterLayer(phase, subFrame, attacker)
|
||||
else
|
||||
_createMonsterLayer(phase, subFrame, attacker),
|
||||
// hideMonster: 몬스터 사망 애니메이션 중에는 렌더링 안함
|
||||
if (!hideMonster)
|
||||
isPvP
|
||||
? _createOpponentCharacterLayer(phase, subFrame, attacker)
|
||||
: _createMonsterLayer(phase, subFrame, attacker),
|
||||
];
|
||||
|
||||
// 이펙트 레이어 (준비/공격/히트 페이즈에서, 공격자 있을 때)
|
||||
@@ -1460,3 +1462,13 @@ const _parryTextFrames = <List<String>>[
|
||||
[r'*PARRY!*', r'========'],
|
||||
[r'=PARRY!=', r'********'],
|
||||
];
|
||||
|
||||
/// 몬스터 Idle 프레임 가져오기 (외부에서 접근 가능)
|
||||
///
|
||||
/// 몬스터 사망 애니메이션에서 분해할 프레임을 가져올 때 사용
|
||||
List<List<String>> getMonsterIdleFrames(
|
||||
MonsterCategory category,
|
||||
MonsterSize size,
|
||||
) {
|
||||
return _getMonsterIdleFrames(category, size);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user