public void RemoveInstallController(Guid gameId) { var controller = InstallControllers.FirstOrDefault(a => a.Game?.Id == gameId); if (controller != null) { RemoveController(controller); } }
public void RemoveController(InstallController controller) { controller.Installed -= Controller_Installed; try { controller.Dispose(); } catch (Exception e) when(!PlayniteEnvironment.ThrowAllErrors) { logger.Error(e, $"Failed to dispose game controller {controller.GetType()}"); } InstallControllers.Remove(controller); }
public void Dispose() { foreach (var controller in PlayControllers.ToList()) { RemoveController(controller); } foreach (var controller in InstallControllers.ToList()) { RemoveController(controller); } foreach (var controller in UninstallControllers.ToList()) { RemoveController(controller); } }
public void AddController(InstallController controller) { controller.Installed += Controller_Installed; InstallControllers.Add(controller); }
public InstallController GetInstallController(Guid gameId) { return(InstallControllers.FirstOrDefault(a => a.Game.Id == gameId)); }