コード例 #1
0
        public void RemovePlayController(Guid gameId)
        {
            var controller = PlayControllers.FirstOrDefault(a => a.Game?.Id == gameId);

            if (controller != null)
            {
                RemoveController(controller);
            }
        }
コード例 #2
0
        public void RemoveController(PlayController controller)
        {
            controller.Started -= Controller_Started;
            controller.Stopped -= Controller_Stopped;
            try
            {
                controller.Dispose();
            }
            catch (Exception e) when(!PlayniteEnvironment.ThrowAllErrors)
            {
                logger.Error(e, $"Failed to dispose game controller {controller.GetType()}");
            }

            PlayControllers.Remove(controller);
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
 public void AddController(PlayController controller)
 {
     controller.Started += Controller_Started;
     controller.Stopped += Controller_Stopped;
     PlayControllers.Add(controller);
 }
コード例 #5
0
 public PlayController GetPlayController(Guid gameId)
 {
     return(PlayControllers.FirstOrDefault(a => a.Game.Id == gameId));
 }