-
Notifications
You must be signed in to change notification settings - Fork 247
Expand file tree
/
Copy pathCubeCorePreviewApp.swift
More file actions
100 lines (97 loc) · 2.45 KB
/
CubeCorePreviewApp.swift
File metadata and controls
100 lines (97 loc) · 2.45 KB
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import ComposableArchitecture
import CubeCore
import SharedModels
import SwiftUI
@main
struct CubeCorePreviewApp: App {
var body: some Scene {
WindowGroup {
CubeView(
store: Store(
initialState: CubeSceneView.ViewState(
cubes: .mock,
enableGyroMotion: false,
nub: nil,
playedWords: [],
selectedFaceCount: 0,
selectedWordIsValid: false,
selectedWordString: ""
)
) {
}
)
}
}
}
extension CubeNode.ViewState {
static func mock(
x: LatticePoint.Index,
y: LatticePoint.Index,
z: LatticePoint.Index
) -> Self {
Self(
cubeShakeStartedAt: nil,
index: .init(x: x, y: y, z: z),
isCriticallySelected: false,
isInPlay: true,
left: .init(cubeFace: .leftMock, status: .deselected),
right: .init(cubeFace: .rightMock, status: .deselected),
top: .init(cubeFace: .topMock, status: .deselected)
)
}
}
extension CubeSceneView.ViewState.ViewPuzzle {
public static let mock = Self(
.init(
.init(
.mock(x: .two, y: .zero, z: .zero),
.mock(x: .zero, y: .two, z: .zero),
.mock(x: .zero, y: .zero, z: .two)
),
.init(
.mock(x: .two, y: .two, z: .zero),
.mock(x: .two, y: .zero, z: .two),
.mock(x: .zero, y: .two, z: .two)
),
.init(
.mock(x: .two, y: .two, z: .two),
.mock(x: .two, y: .two, z: .one),
.mock(x: .two, y: .one, z: .two)
)
),
.init(
.init(
.mock(x: .one, y: .two, z: .two),
.mock(x: .zero, y: .zero, z: .zero),
.mock(x: .one, y: .two, z: .one)
),
.init(
.mock(x: .one, y: .one, z: .two),
.mock(x: .zero, y: .two, z: .one),
.mock(x: .zero, y: .zero, z: .zero)
),
.init(
.mock(x: .one, y: .two, z: .zero),
.mock(x: .two, y: .one, z: .zero),
.mock(x: .two, y: .zero, z: .one)
)
),
.init(
.init(
.mock(x: .zero, y: .zero, z: .zero),
.mock(x: .one, y: .zero, z: .two),
.mock(x: .zero, y: .zero, z: .zero)
),
.init(
.mock(x: .zero, y: .zero, z: .zero),
.mock(x: .zero, y: .zero, z: .zero),
.mock(x: .zero, y: .zero, z: .zero)
),
.init(
.mock(x: .zero, y: .zero, z: .zero),
.mock(x: .zero, y: .zero, z: .zero),
.mock(x: .zero, y: .zero, z: .zero)
)
)
)
}