Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
This commit is contained in:
parent
adf0064b49
commit
ade1eb342a
@ -9,8 +9,8 @@ import SwiftUI
|
|||||||
import CasinoKit
|
import CasinoKit
|
||||||
|
|
||||||
struct GameTableView: View, SherpaDelegate {
|
struct GameTableView: View, SherpaDelegate {
|
||||||
@State private var settings = GameSettings()
|
@State private var settings: GameSettings
|
||||||
@State private var gameState: GameState?
|
@State private var gameState: GameState
|
||||||
@State private var selectedChip: ChipDenomination = .twentyFive
|
@State private var selectedChip: ChipDenomination = .twentyFive
|
||||||
|
|
||||||
// MARK: - Sheet State
|
// MARK: - Sheet State
|
||||||
@ -48,19 +48,20 @@ struct GameTableView: View, SherpaDelegate {
|
|||||||
return .infinity
|
return .infinity
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Provides the current game state, creating one if needed (fallback for initial render).
|
/// Provides the current game state.
|
||||||
private var state: GameState {
|
private var state: GameState { gameState }
|
||||||
gameState ?? GameState(settings: settings)
|
|
||||||
}
|
|
||||||
|
|
||||||
// MARK: - Body
|
// MARK: - Body
|
||||||
|
|
||||||
|
init() {
|
||||||
|
let settings = GameSettings()
|
||||||
|
self._settings = State(initialValue: settings)
|
||||||
|
self._gameState = State(initialValue: GameState(settings: settings))
|
||||||
|
}
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
mainGameView(state: state)
|
mainGameView(state: state)
|
||||||
.onAppear {
|
.onAppear {
|
||||||
if gameState == nil {
|
|
||||||
gameState = GameState(settings: settings)
|
|
||||||
}
|
|
||||||
checkForWelcomeSheet()
|
checkForWelcomeSheet()
|
||||||
}
|
}
|
||||||
.sheet(isPresented: $showSettings) {
|
.sheet(isPresented: $showSettings) {
|
||||||
@ -355,4 +356,3 @@ struct GameTableView: View, SherpaDelegate {
|
|||||||
#Preview {
|
#Preview {
|
||||||
GameTableView()
|
GameTableView()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user