// To add new game menu items override GetGameMenuItems public override List <GameMenuItem> GetGameMenuItems(GetGameMenuItemsArgs args) { Game GameMenu = args.Games.First(); List <GameMenuItem> gameMenuItems = new List <GameMenuItem> { new GameMenuItem { MenuSection = resources.GetString("LOCHowLongToBeat"), Description = resources.GetString("LOCHowLongToBeatPluginView"), Action = (gameMenuItem) => { try { GameHowLongToBeat gameHowLongToBeat = PluginDatabase.Get(GameMenu); if (gameHowLongToBeat.HasData) { var ViewExtension = new HowLongToBeatView(PlayniteApi, settings, gameHowLongToBeat); Window windowExtension = PlayniteUiHelper.CreateExtensionWindow(PlayniteApi, "HowLongToBeat", ViewExtension); windowExtension.ShowDialog(); var TaskIntegrationUI = Task.Run(() => { howLongToBeatUI.RefreshElements(HowLongToBeatDatabase.GameSelected); }); } } catch (Exception ex) { Common.LogError(ex, "HowLongToBeat", $"Error to load game data for {args.Games.First().Name}"); PlayniteApi.Dialogs.ShowErrorMessage(resources.GetString("LOCDatabaseErroTitle"), "HowLongToBeat"); } } }, new GameMenuItem { MenuSection = resources.GetString("LOCHowLongToBeat"), Description = resources.GetString("LOCCommonDeleteGameData"), Action = (gameMenuItem) => { PluginDatabase.Remove(GameMenu.Id); howLongToBeatUI.RefreshElements(HowLongToBeatDatabase.GameSelected); } } }; #if DEBUG gameMenuItems.Add(new GameMenuItem { MenuSection = resources.GetString("LOCHowLongToBeat"), Description = "Test", Action = (mainMenuItem) => { } }); #endif return(gameMenuItems); }
// To add new game menu items override GetGameMenuItems public override List <GameMenuItem> GetGameMenuItems(GetGameMenuItemsArgs args) { Game gameMenu = args.Games.First(); HowLongToBeatData data = new HowLongToBeatData(gameMenu, this.GetPluginUserDataPath(), PlayniteApi, false); List <GameMenuItem> gameMenuItems = new List <GameMenuItem> { new GameMenuItem { MenuSection = resources.GetString("LOCHowLongToBeat"), Description = resources.GetString("LOCHowLongToBeatPluginView"), Action = (gameMenuItem) => { try { if (!data.hasData) { data.SearchData(GameSelected); } if (data.hasData) { var ViewExtension = new HowLongToBeatView(data, gameMenu, PlayniteApi, settings); Window windowExtension = PlayniteUiHelper.CreateExtensionWindow(PlayniteApi, "HowLongToBeat", ViewExtension); windowExtension.ShowDialog(); } } catch (Exception ex) { Common.LogError(ex, "HowLongToBeat", $"Error to load game data for {args.Games.First().Name}"); PlayniteApi.Dialogs.ShowErrorMessage(resources.GetString("LOCDatabaseErroTitle"), "HowLongToBeat"); } } }, new GameMenuItem { MenuSection = resources.GetString("LOCHowLongToBeat"), Description = resources.GetString("LOCCommonDeleteGameData"), Action = (gameMenuItem) => { data.RemoveData(); } } }; #if DEBUG gameMenuItems.Add(new GameMenuItem { MenuSection = resources.GetString("LOCHowLongToBeat"), Description = "Test", Action = (mainMenuItem) => { } }); #endif return(gameMenuItems); }
// To add new game menu items override GetGameMenuItems public override List <GameMenuItem> GetGameMenuItems(GetGameMenuItemsArgs args) { Game GameMenu = args.Games.First(); GameHowLongToBeat gameHowLongToBeat = PluginDatabase.Get(GameMenu, true); List <GameMenuItem> gameMenuItems = new List <GameMenuItem> { new GameMenuItem { MenuSection = resources.GetString("LOCHowLongToBeat"), Description = resources.GetString("LOCHowLongToBeatPluginView"), Action = (gameMenuItem) => { try { gameHowLongToBeat = PluginDatabase.Get(GameMenu); if (gameHowLongToBeat.HasData) { var ViewExtension = new HowLongToBeatView(PlayniteApi, settings, gameHowLongToBeat); Window windowExtension = PlayniteUiHelper.CreateExtensionWindow(PlayniteApi, "HowLongToBeat", ViewExtension); windowExtension.ShowDialog(); var TaskIntegrationUI = Task.Run(() => { howLongToBeatUI.RefreshElements(HowLongToBeatDatabase.GameSelected); }); } } catch (Exception ex) { Common.LogError(ex, "HowLongToBeat", $"Error to load game data for {args.Games.First().Name}"); PlayniteApi.Dialogs.ShowErrorMessage(resources.GetString("LOCDatabaseErroTitle"), "HowLongToBeat"); } } } }; if (gameHowLongToBeat.HasData) { gameMenuItems.Add(new GameMenuItem { MenuSection = resources.GetString("LOCHowLongToBeat"), Description = resources.GetString("LOCHowLongToBeatSetCurrentTimeManual"), Action = (mainMenuItem) => { GlobalProgressOptions globalProgressOptions = new GlobalProgressOptions( $"HowLongToBeat - {resources.GetString("LOCCommonProcessing")}", false ); globalProgressOptions.IsIndeterminate = true; PlayniteApi.Dialogs.ActivateGlobalProgress((activateGlobalProgress) => { PluginDatabase.SetCurrentPlayTime(GameMenu, 0); }, globalProgressOptions); } }); gameMenuItems.Add(new GameMenuItem { MenuSection = resources.GetString("LOCHowLongToBeat"), Description = resources.GetString("LOCCommonDeleteGameData"), Action = (gameMenuItem) => { PluginDatabase.Remove(GameMenu.Id); howLongToBeatUI.RefreshElements(HowLongToBeatDatabase.GameSelected); } }); } #if DEBUG gameMenuItems.Add(new GameMenuItem { MenuSection = resources.GetString("LOCHowLongToBeat"), Description = "Test", Action = (mainMenuItem) => { } }); #endif return(gameMenuItems); }