Jedes Grafikset (Seiten-/Heckansicht) ist jetzt ein VehicleGraphicStyle mit eigenem Seitenverhältnis, wählbar in der Neigungsmesser-Einrichtung und angewendet in Fahrzeug-Ansicht und Ausrichtungs-Assistent. Die bisherigen VehicleSide/VehicleRear-Assets heißen jetzt VansterSide/ VansterRear, damit sie eindeutig ihrem Set zuzuordnen sind; California kommt als zweites Set mit eigener Seitenansicht dazu (Heckansicht vorerst von Vanster übernommen). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
53 lines
1.5 KiB
Swift
53 lines
1.5 KiB
Swift
import Foundation
|
||
|
||
/// Welche Silhouette die Fahrzeug-Ansicht des Neigungsmessers zeigt.
|
||
///
|
||
/// Jeder Fall ist ein zusammengehöriges Bilderset aus Seiten- und
|
||
/// Heckansicht in Assets.xcassets, beide als Vorlage ("template")
|
||
/// exportiert, damit `foregroundStyle` sie einfärben kann. Im Picker wird
|
||
/// nur die Seitenansicht gezeigt.
|
||
enum VehicleGraphicStyle: String, CaseIterable, Identifiable, Codable, Sendable {
|
||
case vanster
|
||
case california
|
||
|
||
var id: String { rawValue }
|
||
|
||
var title: String {
|
||
switch self {
|
||
case .vanster: return "Vanster"
|
||
case .california: return "California"
|
||
}
|
||
}
|
||
|
||
var sideImageName: String {
|
||
switch self {
|
||
case .vanster: return "VansterSide"
|
||
case .california: return "CaliforniaSide"
|
||
}
|
||
}
|
||
|
||
/// Für California liegt noch keine eigene Heckansicht vor, deshalb
|
||
/// vorerst die von Vanster.
|
||
var rearImageName: String {
|
||
switch self {
|
||
case .vanster, .california: return "VansterRear"
|
||
}
|
||
}
|
||
|
||
/// Seitenverhältnis der jeweiligen Bilder – ohne das würde eine Grafik
|
||
/// mit anderen Proportionen in der gemeinsamen Bildhülle verzerrt oder
|
||
/// ungewollt verkleinert erscheinen.
|
||
var sideAspect: Double {
|
||
switch self {
|
||
case .vanster: return VehicleTilt.sideAspect
|
||
case .california: return 1
|
||
}
|
||
}
|
||
|
||
var rearAspect: Double {
|
||
switch self {
|
||
case .vanster, .california: return VehicleTilt.rearAspect
|
||
}
|
||
}
|
||
}
|