diff --git a/Blackjack/Blackjack/Views/Game/GameTableView.swift b/Blackjack/Blackjack/Views/Game/GameTableView.swift index 0e19684..b352bc5 100644 --- a/Blackjack/Blackjack/Views/Game/GameTableView.swift +++ b/Blackjack/Blackjack/Views/Game/GameTableView.swift @@ -9,8 +9,8 @@ import SwiftUI import CasinoKit struct GameTableView: View, SherpaDelegate { - @State private var settings = GameSettings() - @State private var gameState: GameState? + @State private var settings: GameSettings + @State private var gameState: GameState @State private var selectedChip: ChipDenomination = .twentyFive // MARK: - Sheet State @@ -48,19 +48,20 @@ struct GameTableView: View, SherpaDelegate { return .infinity } - /// Provides the current game state, creating one if needed (fallback for initial render). - private var state: GameState { - gameState ?? GameState(settings: settings) - } + /// Provides the current game state. + private var state: GameState { gameState } // MARK: - Body + init() { + let settings = GameSettings() + self._settings = State(initialValue: settings) + self._gameState = State(initialValue: GameState(settings: settings)) + } + var body: some View { mainGameView(state: state) .onAppear { - if gameState == nil { - gameState = GameState(settings: settings) - } checkForWelcomeSheet() } .sheet(isPresented: $showSettings) { @@ -355,4 +356,3 @@ struct GameTableView: View, SherpaDelegate { #Preview { GameTableView() } -