more delay

Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
This commit is contained in:
Matt Bruce 2026-01-21 11:18:43 -06:00
parent 63b583ebe2
commit 02eecf40ec

View File

@ -379,7 +379,7 @@ final class GameState: CasinoGameState {
} }
private var resultDelay: Duration { private var resultDelay: Duration {
.milliseconds(Int(500 * settings.dealingSpeed)) .milliseconds(Int(800 * settings.dealingSpeed))
} }
// MARK: - Initialization // MARK: - Initialization
@ -708,20 +708,20 @@ final class GameState: CasinoGameState {
} }
} }
// Brief pause then flip cards // Flip cards one by one instead of all at once
try? await Task.sleep(for: flipDelay)
// Play card flip sound
sound.playCardFlip()
// Flip all cards face up
for i in 0..<playerCardsFaceUp.count { for i in 0..<playerCardsFaceUp.count {
// Flip player card
try? await Task.sleep(for: flipDelay)
sound.playCardFlip()
playerCardsFaceUp[i] = true playerCardsFaceUp[i] = true
}
for i in 0..<bankerCardsFaceUp.count { // Flip banker card
try? await Task.sleep(for: flipDelay)
sound.playCardFlip()
bankerCardsFaceUp[i] = true bankerCardsFaceUp[i] = true
} }
// Pause to let user see initial totals
try? await Task.sleep(for: resultDelay) try? await Task.sleep(for: resultDelay)
} else { } else {
// No animations - show all cards immediately // No animations - show all cards immediately
@ -738,6 +738,10 @@ final class GameState: CasinoGameState {
// Check for naturals // Check for naturals
if engine.playerHand.isNatural || engine.bankerHand.isNatural { if engine.playerHand.isNatural || engine.bankerHand.isNatural {
// Pause before showing result for naturals
if settings.showAnimations {
try? await Task.sleep(for: resultDelay)
}
await showResult() await showResult()
return return
} }
@ -750,12 +754,12 @@ final class GameState: CasinoGameState {
sound.playCardDeal() sound.playCardDeal()
visiblePlayerCards.append(playerThird) visiblePlayerCards.append(playerThird)
playerCardsFaceUp.append(false) playerCardsFaceUp.append(false)
CasinoDesign.debugLog("🃏 Player 3rd card dealt face-down: cards=\(visiblePlayerCards.count), faceUp=\(playerCardsFaceUp)")
try? await Task.sleep(for: shortDelay) try? await Task.sleep(for: flipDelay) // Using flipDelay for third card too
sound.playCardFlip() sound.playCardFlip()
playerCardsFaceUp[2] = true playerCardsFaceUp[2] = true
CasinoDesign.debugLog("🃏 Player 3rd card flipped: cards=\(visiblePlayerCards.count), faceUp=\(playerCardsFaceUp)")
try? await Task.sleep(for: flipDelay) try? await Task.sleep(for: resultDelay)
} else { } else {
visiblePlayerCards.append(playerThird) visiblePlayerCards.append(playerThird)
playerCardsFaceUp.append(true) playerCardsFaceUp.append(true)
@ -770,18 +774,23 @@ final class GameState: CasinoGameState {
sound.playCardDeal() sound.playCardDeal()
visibleBankerCards.append(bankerThird) visibleBankerCards.append(bankerThird)
bankerCardsFaceUp.append(false) bankerCardsFaceUp.append(false)
CasinoDesign.debugLog("🃏 Banker 3rd card dealt face-down: cards=\(visibleBankerCards.count), faceUp=\(bankerCardsFaceUp)")
try? await Task.sleep(for: shortDelay) try? await Task.sleep(for: flipDelay) // Using flipDelay for third card too
sound.playCardFlip() sound.playCardFlip()
bankerCardsFaceUp[2] = true bankerCardsFaceUp[2] = true
CasinoDesign.debugLog("🃏 Banker 3rd card flipped: cards=\(visibleBankerCards.count), faceUp=\(bankerCardsFaceUp)")
try? await Task.sleep(for: dealDelay) try? await Task.sleep(for: resultDelay)
} else { } else {
visibleBankerCards.append(bankerThird) visibleBankerCards.append(bankerThird)
bankerCardsFaceUp.append(true) bankerCardsFaceUp.append(true)
} }
} }
// Final pause after all cards are dealt before showing results
if settings.showAnimations {
try? await Task.sleep(for: resultDelay)
}
await showResult() await showResult()
} }