fix(live): BIG_HEART 수신 연출 변경(가득 찬 하트→0.15초 후 폭발)
- 물 채우기 1초 연출 제거\n- 수신 시: 가득 찬 하트 즉시 표시 후 0.15초 뒤 폭발 파편 시작\n- 색상 유지(#ff959a)\n- ViewModel.addBigHeartAnimation()에서 progress=1.0 즉시 설정 후 0.15초 뒤 폭발 실행\n- suppressNextRemoteWaterFill 유지(로컬 발신 동작 기존과 동일)\n- UI 상태 변경은 메인 스레드에서 처리\n- 전체 빌드 성공
This commit is contained in:
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user