46 lines
1.0 KiB
Swift
46 lines
1.0 KiB
Swift
import Foundation
|
|
|
|
public struct DesignInfo: Codable, Equatable, Sendable {
|
|
|
|
public let summer: Summer
|
|
public let winter: Winter
|
|
public let elevation: Int
|
|
|
|
public init(
|
|
summer: DesignInfo.Summer = .init(),
|
|
winter: DesignInfo.Winter = .init(),
|
|
elevation: Int = 0
|
|
) {
|
|
self.summer = summer
|
|
self.winter = winter
|
|
self.elevation = elevation
|
|
}
|
|
}
|
|
|
|
public extension DesignInfo {
|
|
struct Summer: Codable, Equatable, Sendable {
|
|
|
|
public let outdoorTemperature: Int
|
|
public let indoorTemperature: Int
|
|
public let indoorHumidity: Int
|
|
|
|
public init(
|
|
outdoorTemperature: Int = 90,
|
|
indoorTemperature: Int = 75,
|
|
indoorHumidity: Int = 50
|
|
) {
|
|
self.outdoorTemperature = outdoorTemperature
|
|
self.indoorTemperature = indoorTemperature
|
|
self.indoorHumidity = indoorHumidity
|
|
}
|
|
}
|
|
|
|
struct Winter: Codable, Equatable, Sendable {
|
|
public let outdoorTemperature: Int
|
|
|
|
public init(outdoorTemperature: Int = 5) {
|
|
self.outdoorTemperature = outdoorTemperature
|
|
}
|
|
}
|
|
}
|