From 85413362a236e754df015dc3b3bbc1e3680ccc7c Mon Sep 17 00:00:00 2001 From: JiWoong Sul Date: Wed, 14 Jan 2026 23:04:45 +0900 Subject: [PATCH] =?UTF-8?q?fix(ui):=20=EB=AA=AC=EC=8A=A4=ED=84=B0=20?= =?UTF-8?q?=EC=82=AC=EB=A7=9D=20=EC=95=A0=EB=8B=88=EB=A9=94=EC=9D=B4?= =?UTF-8?q?=EC=85=98=20=EC=83=81=ED=83=9C=20=EB=A6=AC=EC=85=8B=20=EB=B2=84?= =?UTF-8?q?=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 새 몬스터 등장 시 이전 사망 애니메이션 상태 초기화 - 전투 시작 시 _showDeathAnimation, _deathAnimationMonsterLines 리셋 - 이전 몬스터 사망 애니메이션 도중 새 전투 시작 시 몬스터 숨김 방지 --- .../features/game/widgets/ascii_animation_card.dart | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/src/features/game/widgets/ascii_animation_card.dart b/lib/src/features/game/widgets/ascii_animation_card.dart index cf0f0c1..d859af9 100644 --- a/lib/src/features/game/widgets/ascii_animation_card.dart +++ b/lib/src/features/game/widgets/ascii_animation_card.dart @@ -242,6 +242,14 @@ class _AsciiAnimationCardState extends State { _lastMonsterBaseName = widget.monsterBaseName; } + // 새 몬스터 등장 시 사망 애니메이션 상태 리셋 + // (이전 몬스터 사망 애니메이션이 끝나기 전에 새 전투 시작 시 대응) + if (oldWidget.monsterBaseName != widget.monsterBaseName && + widget.monsterBaseName != null) { + _showDeathAnimation = false; + _deathAnimationMonsterLines = null; + } + if (oldWidget.taskType != widget.taskType || oldWidget.monsterBaseName != widget.monsterBaseName || oldWidget.weaponName != widget.weaponName || @@ -550,6 +558,9 @@ class _AsciiAnimationCardState extends State { _battleSubFrame = 0; _phaseIndex = 0; _phaseFrameCount = 0; + // 새 전투 시작 시 사망 애니메이션 상태 리셋 (몬스터 숨김 방지) + _showDeathAnimation = false; + _deathAnimationMonsterLines = null; } case AsciiAnimationType.town: