Add auswählbare Fahrzeuggrafik am Neigungsmesser, neues California-Set
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>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
f175372318
commit
45aa7cf984
@@ -0,0 +1,52 @@
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user