private void OnDriveTitleLinkDrop(object sender, DragEventArgs e) { var raceGridEntry = e.Data.GetData(RaceGridEntry.DraggableFormat) as RaceGridEntry; var carObject = e.Data.GetData(CarObject.DraggableFormat) as CarObject; var trackObject = e.Data.GetData(TrackObjectBase.DraggableFormat) as TrackObject; var weatherObject = e.Data.GetData(WeatherObject.DraggableFormat) as WeatherObject; var carSkinObject = e.Data.GetData(CarSkinObject.DraggableFormat) as CarSkinObject; if (carSkinObject != null) { carObject = CarsManager.Instance.GetById(carSkinObject.CarId); } if (raceGridEntry != null || carObject != null) { QuickDrive.Show(carObject ?? raceGridEntry.Car, carSkinObject?.Id ?? raceGridEntry?.CarSkin?.Id); } else if (trackObject != null) { QuickDrive.Show(track: trackObject); } else if (weatherObject != null) { QuickDrive.Show(weatherId: weatherObject.Id); } else { e.Effects = DragDropEffects.None; return; } e.Effects = DragDropEffects.Copy; FancyHints.DragForContentSection.MaskAsUnnecessary(); }
private static string _selectNextTrackLayoutId; // TODO protected override void OnItemDoubleClick(AcObjectNew obj) { if (obj is TrackObjectBase track) { QuickDrive.Show(track: track); } }
private static async Task <ArgumentHandleResult> ProcessRaceQuick(CustomUriRequest custom) { var preset = GetSettings(custom.Params, @"preset") ?? throw new Exception(@"Settings are not specified"); var assists = GetSettings(custom.Params, @"assists"); if (assists != null && !UserPresetsControl.LoadSerializedPreset(AssistsViewModel.Instance.PresetableKey, assists)) { AssistsViewModel.Instance.ImportFromPresetData(assists); } if (custom.Params.GetFlag("loadPreset")) { QuickDrive.Show(serializedPreset: preset, forceAssistsLoading: custom.Params.GetFlag("loadAssists")); return(ArgumentHandleResult.SuccessfulShow); } if (!await QuickDrive.RunAsync(serializedPreset: preset, forceAssistsLoading: custom.Params.GetFlag("loadAssists"))) { NonfatalError.Notify(AppStrings.Common_CannotStartRace, AppStrings.Arguments_CannotStartRace_Commentary); return(ArgumentHandleResult.Failed); } return(ArgumentHandleResult.Successful); }
protected override void OnItemDoubleClick(AcObjectNew obj) { if (obj is WeatherObject weather) { QuickDrive.Show(weatherId: weather.Id); } }
public void SetCarObjectMenu(ContextMenu menu, CarObject car, CarSkinObject skin) { menu.AddItem("Manage setups", () => CarSetupsListPage.Open(car)) .AddItem("Manage skins", () => CarSkinsListPage.Open(car)) .AddSeparator(); CarBlock.OnShowroomContextMenu(menu, car, skin); menu.AddSeparator(); var ratingBar = new RatingBar { Rating = car.Rating ?? 0 }; ratingBar.SetBinding(RatingBar.RatingProperty, new Binding("Rating") { Source = car }); menu.AddItem(new MenuItem { StaysOpenOnClick = true, Header = new DockPanel { Margin = new Thickness(0d, 0d, -40d, 0d), Children = { new TextBlock { Text = "Rating:", Width = 80 }, ratingBar, new FavouriteButton { IsChecked = car.IsFavourite } } } }); menu.AddItem(new MenuItem { StaysOpenOnClick = true, Header = new DockPanel { Margin = new Thickness(0d, 0d, -40d, 0d), Children = { new TextBlock { Text = "Notes:", Width = 80 }, new NotesBlock { AcObject = car } } } }); menu.AddSeparator(); if (!QuickDrive.IsActive()) { menu.AddItem("Open car in Quick Drive", () => QuickDrive.Show(car, skin?.Id)); } menu.AddItem("Open car in Content tab", () => CarsListPage.Show(car, skin?.Id)) .AddItem(AppStrings.Toolbar_Folder, car.ViewInExplorer); }
private static string _selectNextTrackLayoutId; // TODO protected override void OnItemDoubleClick(AcObjectNew obj) { var track = obj as TrackObjectBase; if (track == null) { return; } QuickDrive.Show(track: track); }
protected override void OnItemDoubleClick(AcObjectNew obj) { var weather = obj as WeatherObject; if (weather == null) { return; } QuickDrive.Show(weather: weather); }
private void TitleLinkDrive_OnDrop(object sender, DragEventArgs e) { var raceGridEntry = e.Data.GetData(RaceGridEntry.DraggableFormat) as RaceGridEntry; var carObject = e.Data.GetData(CarObject.DraggableFormat) as CarObject; if (raceGridEntry == null && carObject == null) { e.Effects = DragDropEffects.None; return; } QuickDrive.Show(carObject ?? raceGridEntry.Car, raceGridEntry?.CarSkin?.Id); e.Effects = DragDropEffects.Copy; }
public void SetCarObjectMenu(ContextMenu menu, CarObject car, CarSkinObject skin) { menu.AddItem("Manage setups", () => CarSetupsListPage.Open(car)) .AddItem("Manage skins", () => CarSkinsListPage.Open(car)) .AddSeparator(); CarBlock.OnShowroomContextMenu(menu, car, skin); menu.AddSeparator(); if (!QuickDrive.IsActive()) { menu.AddItem("Open car in Quick Drive", () => QuickDrive.Show(car, skin?.Id)); } menu.AddItem("Open car in Content tab", () => CarsListPage.Show(car, skin?.Id)) .AddItem(AppStrings.Toolbar_Folder, car.ViewInExplorer); }
public void SetTrackObjectMenu(ContextMenu menu, TrackObjectBase track) { var mainTrack = track.MainTrackObject; mainTrack.SkinsManager.EnsureLoaded(); if (mainTrack.EnabledOnlySkins.Count > 0) { foreach (var skinObject in mainTrack.EnabledOnlySkins) { var item = new MenuItem { Header = skinObject.DisplayName.ToTitle(), IsCheckable = true, StaysOpenOnClick = true, ToolTip = skinObject.Description }; item.SetBinding(MenuItem.IsCheckedProperty, new Binding { Path = new PropertyPath(nameof(skinObject.IsActive)), Source = skinObject }); menu.Items.Add(item); } menu.AddSeparator(); } menu.AddItem("Manage skins", () => TrackSkinsListPage.Open(track.MainTrackObject)); menu.AddSeparator(); if (!QuickDrive.IsActive()) { menu.AddItem("Open track in Quick Drive", () => QuickDrive.Show(track: track)); } menu.AddItem("Open track in Content tab", () => TracksListPage.Show(track), isEnabled: InternalUtils.IsAllRight) .AddItem(AppStrings.Toolbar_Folder, track.ViewInExplorer); }
public void SetupHotlap(CarObject car, TrackObjectBase track) { QuickDrive.Show(car, track: track, mode: QuickDrive.ModeHotlap); }
public void SetTrackObjectMenu(ContextMenu menu, TrackObjectBase track) { var mainTrack = track.MainTrackObject; mainTrack.SkinsManager.EnsureLoaded(); if (mainTrack.EnabledOnlySkins.Count > 0) { foreach (var skinObject in mainTrack.EnabledOnlySkins) { var item = new MenuItem { Header = skinObject.DisplayName.ToTitle(), IsCheckable = true, StaysOpenOnClick = true, ToolTip = skinObject.Description }; item.SetBinding(MenuItem.IsCheckedProperty, new Binding { Path = new PropertyPath(nameof(skinObject.IsActive)), Source = skinObject }); menu.Items.Add(item); } menu.AddSeparator(); } menu.AddItem("Manage skins", () => TrackSkinsListPage.Open(track.MainTrackObject)); menu.AddSeparator(); var ratingBar = new RatingBar { Rating = track.MainTrackObject.Rating ?? 0 }; ratingBar.SetBinding(RatingBar.RatingProperty, new Binding("Rating") { Source = track.MainTrackObject }); menu.AddItem(new MenuItem { StaysOpenOnClick = true, Header = new DockPanel { Margin = new Thickness(0d, 0d, -40d, 0d), Children = { new TextBlock { Text = "Rating:", Width = 80 }, ratingBar, new FavouriteButton { IsChecked = track.MainTrackObject.IsFavourite } } } }); menu.AddItem(new MenuItem { StaysOpenOnClick = true, Header = new DockPanel { Margin = new Thickness(0d, 0d, -40d, 0d), Children = { new TextBlock { Text = "Notes:", Width = 80 }, new NotesBlock { AcObject = track.MainTrackObject } } } }); menu.AddSeparator(); if (!QuickDrive.IsActive()) { menu.AddItem("Open track in Quick Drive", () => QuickDrive.Show(track: track)); } menu.AddItem("Open track in Content tab", () => TracksListPage.Show(track), isEnabled: InternalUtils.IsAllRight) .AddItem(AppStrings.Toolbar_Folder, track.ViewInExplorer); }