Uninstall games

dashboard
Pat Hartl 2023-01-07 12:46:26 -06:00
parent 787a983c03
commit fead35e612
3 changed files with 43 additions and 0 deletions

View File

@ -87,6 +87,7 @@
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="UninstallController.cs" />
<Compile Include="InstallController.cs" />
<Compile Include="LANCommanderClient.cs" />
<Compile Include="PlayniteClient.cs" />

View File

@ -74,6 +74,14 @@ namespace LANCommander.Playnite.Extension
yield return new LANCommanderInstallController(this, args.Game);
}
public override IEnumerable<UninstallController> GetUninstallActions(GetUninstallActionsArgs args)
{
if (args.Game.PluginId != Id)
yield break;
yield return new LANCommanderUninstallController(this, args.Game);
}
public override ISettings GetSettings(bool firstRunSettings)
{
return Settings;

View File

@ -0,0 +1,34 @@
using Playnite.SDK;
using Playnite.SDK.Models;
using Playnite.SDK.Plugins;
using LANCommander.SDK.Extensions;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using ICSharpCode.SharpZipLib.Zip;
using ICSharpCode.SharpZipLib.Core;
namespace LANCommander.Playnite.Extension
{
public class LANCommanderUninstallController : UninstallController
{
private PlayniteLibraryPlugin Plugin;
public LANCommanderUninstallController(PlayniteLibraryPlugin plugin, Game game) : base(game)
{
Name = "Uninstall LANCommander Game";
Plugin = plugin;
}
public override void Uninstall(UninstallActionArgs args)
{
Directory.Delete(Game.InstallDirectory, true);
InvokeOnUninstalled(new GameUninstalledEventArgs());
}
}
}