/// <summary> /// Determines whether the specified path is game. /// </summary> /// <param name="args">The args.</param> /// <param name="consoleType">The type of gamesystem this game belongs too</param> /// <returns>A Game</returns> private Game GetGame(ItemResolveArgs args, string consoleType) { var validExtensions = GetExtensions(consoleType); var gameFiles = args.FileSystemChildren.Where(f => { var fileExtension = Path.GetExtension(f.FullName); return(validExtensions.Contains(fileExtension, StringComparer.OrdinalIgnoreCase)); }).ToList(); if (gameFiles.Count == 0) { _logger.Error("gameFiles is 0 for " + args.Path); return(null); } var game = new Game { Path = gameFiles[0].FullName, GameSystem = ResolverHelper.GetGameSystemFromPlatform(consoleType) }; game.IsPlaceHolder = false; if (gameFiles.Count > 1) { game.MultiPartGameFiles = gameFiles.Select(i => i.FullName).ToArray(); game.IsMultiPart = true; } return(game); }
/// <summary> /// Determines whether the specified path is game. /// </summary> /// <param name="args">The args.</param> /// <param name="consoleType">The type of gamesystem this game belongs too</param> /// <returns>A Game</returns> private Game GetGame(ItemResolveArgs args, string consoleType) { var validExtensions = GetExtensions(consoleType); var gameFiles = args.FileSystemChildren.Where(f => { var fileExtension = Path.GetExtension(f.FullName) ?? string.Empty; return(validExtensions.Contains(fileExtension, StringComparer.OrdinalIgnoreCase)); }).ToList(); if (gameFiles.Count == 0) { return(null); } var game = new Game { Path = gameFiles[0].FullName, GameSystem = ResolverHelper.GetGameSystemFromPlatform(consoleType) }; game.IsPlaceHolder = string.Equals(game.GameSystem, GameSystem.Windows, StringComparison.OrdinalIgnoreCase) || string.Equals(game.GameSystem, GameSystem.DOS, StringComparison.OrdinalIgnoreCase); game.DisplayMediaType = ResolverHelper.GetDisplayMediaTypeFromPlatform(consoleType); if (gameFiles.Count > 1) { game.MultiPartGameFiles = gameFiles.Select(i => i.FullName).ToList(); game.IsMultiPart = true; } return(game); }