Esempio n. 1
0
 public CarUpdatePreviewsDialog(CarObject carObject, [CanBeNull] string[] skinIds, UpdatePreviewMode mode, string loadPreset = null)
     : this(new [] { new ToUpdatePreview(carObject, skinIds) }, mode, loadPreset)
 {
 }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
 public CarUpdatePreviewsDialog(CarObject carObject, UpdatePreviewMode mode, string loadPreset = null)
     : this(carObject, null, mode, loadPreset)
 {
 }