예제 #1
0
        private bool ProjectPredicate(Project Project)
        {
            // Initialize the cached options if they haven't been read from UnrealVSOptions yet
            if (!CachedHideNonGameStartupProjects.HasValue)
            {
                UpdateCachedOptions();
            }

            // Optionally, ignore non-game projects
            if (CachedHideNonGameStartupProjects.Value)
            {
                if (!Utils.IsGameProject(Project))
                {
                    Logging.WriteLine("StartupProjectSelector: Not listing project " + Project.Name + " because it is not a game");
                    return(false);
                }
            }

            // Always filter out non-executable projects
            if (!Utils.IsProjectSuitable(Project))
            {
                Logging.WriteLine("StartupProjectSelector: Not listing project " + Project.Name + " because it is not executable");
                return(false);
            }

            Logging.WriteLine("StartupProjectSelector: Listing project " + Project.Name);
            return(true);
        }