public CarUpdatePreviewsDialog(CarObject carObject, [CanBeNull] string[] skinIds, UpdatePreviewMode mode, string loadPreset = null) : this(new [] { new ToUpdatePreview(carObject, skinIds) }, mode, loadPreset) { }
public CarUpdatePreviewsDialog([NotNull] IReadOnlyList <ToUpdatePreview> toUpdate, UpdatePreviewMode mode, string loadPreset = null, bool applyImmediately = false) { if (toUpdate == null) { throw new ArgumentNullException(nameof(toUpdate)); } if (toUpdate.Count == 0) { throw new ArgumentException("Value cannot be an empty collection.", nameof(toUpdate)); } ApplyImmediately = applyImmediately; _toUpdate = toUpdate; _mode = mode; _loadPreset = loadPreset; _saveable = new SaveHelper <SaveableData>("__AutoUpdatePreviews", () => IsVisible ? new SaveableData { ShowroomId = SelectedShowroom?.Id, FilterId = SelectedFilter?.Id, CameraPosition = CameraPosition, CameraLookAt = CameraLookAt, CameraFov = CameraFov, CameraExposure = CameraExposure, DisableSweetFx = DisableSweetFx, DisableWatermark = DisableWatermark, ResizePreviews = ResizePreviews, MaximizeVideoSettings = MaximizeVideoSettings, EnableFxaa = EnableFxaa, UseSpecialResolution = UseSpecialResolution } : null, o => { if (o.ShowroomId != null) { var showroom = ShowroomsManager.Instance.GetById(o.ShowroomId); SelectedShowroom = showroom ?? SelectedShowroom; if (showroom == null) { switch (o.ShowroomId) { case "at_studio_black": ShowroomMessageInstance("Studio Black Showroom (AT Previews Special)", "at_studio_black", "http://www.racedepartment.com/downloads/studio-black-showroom.4353/"); break; case "at_previews": ShowroomMessageInstance("Kunos Previews Showroom (AT Previews Special)", "at_previews", "http://www.assettocorsa.net/assetto-corsa-v1-5-dev-diary-part-33/"); break; } } } if (o.FilterId != null) { SelectedFilter = Filters.GetByIdOrDefault(o.FilterId) ?? SelectedFilter; } else { SelectedFilter = DefaultPpFilter; } CameraPosition = o.CameraPosition; CameraLookAt = o.CameraLookAt; CameraFov = o.CameraFov; CameraExposure = o.CameraExposure == 0 ? null : o.CameraExposure; DisableWatermark = o.DisableWatermark; DisableSweetFx = o.DisableSweetFx; ResizePreviews = o.ResizePreviews; MaximizeVideoSettings = o.MaximizeVideoSettings; EnableFxaa = o.EnableFxaa; UseSpecialResolution = o.UseSpecialResolution; }, () => { SelectedShowroom = null; SelectedFilter = (IWithId)PpFiltersManager.Instance.GetDefault() ?? DefaultPpFilter; CameraPosition = @"-3.867643, 1.423590, 4.70381"; CameraLookAt = @"0.0, 0.7, 0.5"; CameraFov = 30; CameraExposure = 94.5; DisableWatermark = true; DisableSweetFx = true; ResizePreviews = true; MaximizeVideoSettings = true; EnableFxaa = true; UseSpecialResolution = true; }); InitializeComponent(); DataContext = this; }
public CarUpdatePreviewsDialog(CarObject carObject, UpdatePreviewMode mode, string loadPreset = null) : this(carObject, null, mode, loadPreset) { }