From 2af2f2ffea4efef40921ced96e1abb590e8d6d9c Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Thu, 6 Nov 2025 16:51:02 +0900 Subject: [PATCH] =?UTF-8?q?fix(live):=20BIG=5FHEART=20=EC=88=98=EC=8B=A0?= =?UTF-8?q?=20=EC=97=B0=EC=B6=9C=20=EB=B3=80=EA=B2=BD(=EA=B0=80=EB=93=9D?= =?UTF-8?q?=20=EC=B0=AC=20=ED=95=98=ED=8A=B8=E2=86=920.15=EC=B4=88=20?= =?UTF-8?q?=ED=9B=84=20=ED=8F=AD=EB=B0=9C)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 물 채우기 1초 연출 제거\n- 수신 시: 가득 찬 하트 즉시 표시 후 0.15초 뒤 폭발 파편 시작\n- 색상 유지(#ff959a)\n- ViewModel.addBigHeartAnimation()에서 progress=1.0 즉시 설정 후 0.15초 뒤 폭발 실행\n- suppressNextRemoteWaterFill 유지(로컬 발신 동작 기존과 동일)\n- UI 상태 변경은 메인 스레드에서 처리\n- 전체 빌드 성공 --- .../Sources/Live/Room/LiveRoomViewModel.swift | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/SodaLive/Sources/Live/Room/LiveRoomViewModel.swift b/SodaLive/Sources/Live/Room/LiveRoomViewModel.swift index af20c37..4cc741d 100644 --- a/SodaLive/Sources/Live/Room/LiveRoomViewModel.swift +++ b/SodaLive/Sources/Live/Room/LiveRoomViewModel.swift @@ -2100,10 +2100,24 @@ final class LiveRoomViewModel: NSObject, ObservableObject { startParticlesTimer() return } - // 그 외(원격 수신 포함): 1초간 물 채우기 → 폭발 파편 애니메이션 - startRemoteWaterFill(duration: 1.0) { [weak self] in - self?.spawnHeartExplosion() - self?.startParticlesTimer() + // 요구사항 변경: 물 채우기(1초) 연출 제거. + // 가득 찬 하트를 잠깐(0.15초) 보여준 뒤 폭발 이펙트를 실행. + DispatchQueue.main.async { [weak self] in + guard let self = self else { return } + self.remoteWaterTimer?.cancel() + self.remoteWaterTimer = nil + self.remoteWavePhase = 0 + self.remoteWaterProgress = 1.0 + self.isShowRemoteBigHeart = true + DEBUG_LOG("BIG_HEART: show filled heart, then explode after 0.15s") + DispatchQueue.main.asyncAfter(deadline: .now() + 0.15) { [weak self] in + guard let self = self else { return } + self.isShowRemoteBigHeart = false + self.remoteWaterProgress = 0 + self.remoteWavePhase = 0 + self.spawnHeartExplosion() + self.startParticlesTimer() + } } }