-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMain.swift
52 lines (41 loc) · 1.37 KB
/
Main.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//
// Main.swift
// solitaire
//
// Created by David Geere on 2/27/23.
//
import SwiftUI
@main
struct Main: App {
@StateObject public var game: Game
@StateObject var hand: Hand
@StateObject var stock: Stock
@StateObject var waste: Waste
@StateObject var foundation: Foundation
@StateObject var tableau: Tableau
public init() {
let hand = Hand()
let stock = Stock()
let waste = Waste()
let foundation = Foundation()
let tableau = Tableau()
let game = Game(hand: hand, stock: stock, waste: waste, foundation: foundation, tableau: tableau)
self._hand = StateObject(wrappedValue: hand)
self._stock = StateObject(wrappedValue: stock)
self._waste = StateObject(wrappedValue: waste)
self._foundation = StateObject(wrappedValue: foundation)
self._tableau = StateObject(wrappedValue: tableau)
self._game = StateObject(wrappedValue: game)
}
var body: some Scene {
WindowGroup {
MainView()
.environmentObject(self.game)
.environmentObject(self.hand)
.environmentObject(self.stock)
.environmentObject(self.tableau)
.environmentObject(self.waste)
.environmentObject(self.foundation)
}
}
}