コード例 #1
0
        /// <summary>Find all languages based on a file system search</summary>
        /// <returns>An array of languages found</returns>
        public static string[] FindKnownLanguages()
        {
            DetailLog("Finding known languages ...", ConsoleColor.Blue);
            List <string> KnownLanguages = new List <string>();

            DirectoryInfo DirInfo = new DirectoryInfo(Path.Combine(Options.Source, "Engine/Content/Localization"));

            if (DirInfo.Exists)
            {
                foreach (DirectoryInfo SubDirInfo in DirInfo.GetDirectories("???"))
                {
                    if (SubDirInfo.GetFiles(Path.ChangeExtension("Core", SubDirInfo.Name)).Length == 0)
                    {
                        continue;
                    }

                    string KnownLanguage = SubDirInfo.Name.ToUpper();
                    KnownLanguages.Add(KnownLanguage);
                    DetailLog(" ... adding known language: " + KnownLanguage, ConsoleColor.Blue);
                }
            }

            if (!KnownLanguages.Contains("INT"))
            {
                KnownLanguages.Add("INT");
                DetailLog(" ... INT not found; adding INT to known languages ", ConsoleColor.Blue);
            }

            return(KnownLanguages.ToArray());
        }
コード例 #2
0
        /// <summary>
        /// Tidy up the landing zone folder
        /// </summary>
        public void CleanLandingZone()
        {
            var DirInfo = new DirectoryInfo(LandingZone);

            foreach (var SubDirInfo in DirInfo.GetDirectories())
            {
                if (SubDirInfo.LastWriteTimeUtc.AddDays(Properties.Settings.Default.DaysToSunsetReport) < DateTime.UtcNow)
                {
                    SubDirInfo.Delete(true);
                }
            }
        }
コード例 #3
0
ファイル: ReportQueue.cs プロジェクト: amigo92/Americano
        /// <summary>
        /// Tidy up the landing zone folder
        /// </summary>
        public void CleanLandingZone()
        {
            var DirInfo = new DirectoryInfo(LandingZone);

            foreach (var SubDirInfo in DirInfo.GetDirectories())
            {
                if (SubDirInfo.LastWriteTimeUtc.AddDays(Config.Default.DeleteWaitingReportsDays) < DateTime.UtcNow)
                {
                    SubDirInfo.Delete(true);
                }
            }
        }
コード例 #4
0
        static public List <string> LocateGames(string BranchRoot)
        {
            // Create a container to list the valid games
            List <string> ValidGames = new List <string>();

            // Find all potential game folders
            DirectoryInfo DirInfo = new DirectoryInfo(BranchRoot);

            if (DirInfo.Exists)
            {
                // Iterate over the potentials
                foreach (DirectoryInfo SubDirInfo in DirInfo.GetDirectories("*Game"))
                {
                    // Check for an uncooked game
                    DirectoryInfo[] ConfigDirInfo  = SubDirInfo.GetDirectories("config");
                    DirectoryInfo[] ContentDirInfo = SubDirInfo.GetDirectories("content");
                    DirectoryInfo[] ScriptDirInfo  = SubDirInfo.GetDirectories("script");

                    if (ConfigDirInfo.Length > 0 && ContentDirInfo.Length > 0 && ScriptDirInfo.Length > 0)
                    {
                        string GameName = SubDirInfo.Name.Substring(0, SubDirInfo.Name.Length - "Game".Length);
                        ValidGames.Add(GameName);
                    }
                    else
                    {
                        // Check for a cooked game
                        DirectoryInfo[] CookedDirInfo = SubDirInfo.GetDirectories("cooked*");
                        FileInfo[]      TocInfo       = SubDirInfo.GetFiles("*.txt");

                        if (CookedDirInfo.Length > 0)
                        {
                            if (TocInfo.Length > 0)
                            {
                                string GameName = SubDirInfo.Name.Substring(0, SubDirInfo.Name.Length - "Game".Length);
                                ValidGames.Add(GameName);
                            }
                        }
                    }
                }
            }

            return(ValidGames);
        }