Ejemplo n.º 1
0
        /// <summary>
        /// Default constructor
        /// </summary>
        /// <param name="games">The games to search for</param>
        /// <param name="finderItems">Other finder items to search for</param>
        public GameFinder(IEnumerable <Games> games, IEnumerable <FinderItem> finderItems)
        {
            // Set properties
            GamesToFind      = games.ToList();
            FinderItems      = finderItems?.ToArray() ?? new FinderItem[0];
            FoundFinderItems = new List <FinderItem>();
            Results          = new List <BaseFinderResult>();
            HasRun           = false;

            RL.Logger?.LogInformationSource($"The game finder has been created to search for the following games: {GamesToFind.JoinItems(", ")}");

            // Get the game finder items
            GameFinderItems = GamesToFind.
                              SelectMany(x => x.GetManagers().Where(z => z.GameFinderItem != null).Select(y => new GameFinderItemContainer(x, y.Type, y.GameFinderItem))).
                              ToArray();

            RL.Logger?.LogTraceSource($"{GameFinderItems.Length} game finders were found");
        }