Files
SwiftUI-LifeGame/iOS/Screen/MainGame/MainGameView.swift
T
2020-08-12 17:51:58 +09:00

71 lines
1.9 KiB
Swift

//
// MainGameView.swift
// Shared
//
// Created by Yusuke Hosonuma on 2020/07/15.
//
import SwiftUI
import LifeGame
import FirebaseFirestore
import FirebaseFirestoreSwift
// MARK: - Main view
struct MainGameView: View {
@ObservedObject var viewModel: MainGameViewModel
// For register:
// @State var title: String = ""
var body: some View {
GeometryReader { geometry in
VStack {
// For register:
//
// TextField("Title", text: $title)
// Button("Save") {
// let trimed = viewModel.board.board.trimed(by: { $0 == .die }).centering(by:{ $0 == .die })
// let document = BoardDocument(title: title, board: LifeGameBoard(board: trimed))
// FirestoreBoardRepository.shared.add(document)
// title = ""
// }
HeaderView(generation: viewModel.board.generation, size: viewModel.board.size)
.padding([.horizontal])
Spacer()
BoardContainerView(viewModel: viewModel)
.frame(width: geometry.size.width, height: geometry.size.width)
Spacer()
SpeedSliderView(viewModel: viewModel)
.padding([.horizontal])
ControlView(viewModel: viewModel)
.padding()
}
}
}
}
// MARK: - Preview
struct MainGameView_Previews: PreviewProvider {
static var previews: some View {
Group {
view(.light)
view(.dark)
}
}
static func view(_ colorScheme: ColorScheme) -> some View {
MainGameView(viewModel: MainGameViewModel())
.previewDevice("iPhone SE (2nd generation)")
.preferredColorScheme(colorScheme)
}
}