41 lines
1.2 KiB
Swift
41 lines
1.2 KiB
Swift
//
|
|
// UserDefaultSetting.swift
|
|
// LifeGameApp
|
|
//
|
|
// Created by Yusuke Hosonuma on 2020/08/01.
|
|
//
|
|
|
|
import SwiftUI
|
|
import Core
|
|
|
|
final class UserDefaultSetting {
|
|
static let shared = UserDefaultSetting()
|
|
|
|
static let DefaultBoardSize: Int = 32
|
|
static let DefaultAnimationSpeed: Double = 0.5
|
|
static let DefaultZoomLevel: Int = 5
|
|
|
|
static let DefaultBoardSelectDisplayStyle: PatternSelectStyle = .grid
|
|
static let DefaultIsFilterByStared: Bool = false
|
|
|
|
@UserDefault(key: "boardSize", defaultValue: DefaultBoardSize)
|
|
var boardSize: Int
|
|
|
|
@UserDefault(key: "animationSpeed", defaultValue: DefaultAnimationSpeed)
|
|
var animationSpeed: Double
|
|
|
|
@UserDefault(key: "zoomLevel", defaultValue: DefaultZoomLevel)
|
|
var zoomLevel: Int
|
|
|
|
#if os(iOS)
|
|
@UserDefault(key: "backgroundImage", defaultValue: UIImageWrapper(nil))
|
|
var backgroundImage: UIImageWrapper
|
|
#endif
|
|
|
|
@UserDefault(key: "boardSelectDisplayStyle", defaultValue: DefaultBoardSelectDisplayStyle)
|
|
var boardSelectDisplayStyle: PatternSelectStyle
|
|
|
|
@UserDefault(key: "isFilterByStared", defaultValue: DefaultIsFilterByStared)
|
|
var isFilterByStared: Bool
|
|
}
|