Exemple #1
0
        public static bool LoadFile()
        {
            var result        = false;
            var documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            var directory     = new DirectoryInfo(Path.Combine(documentsPath, @"SEGA\PHANTASYSTARONLINE2\log"));

            try
            {
                IsNGS = false;
                FileInfo latestFile     = null;
                DateTime mostRecentTime = new DateTime(0);

                foreach (var file in directory.GetFiles("ChatLog*.txt"))
                {
                    if (file.LastWriteTime > mostRecentTime)
                    {
                        mostRecentTime = file.CreationTime;
                        latestFile     = file;
                    }
                }
                directory = new DirectoryInfo(Path.Combine(documentsPath, @"SEGA\PHANTASYSTARONLINE2\log_ngs"));

                foreach (var file in directory.GetFiles("ChatLog*.txt"))
                {
                    if (file.LastWriteTime > mostRecentTime)
                    {
                        mostRecentTime = file.CreationTime;
                        latestFile     = file;
                        IsNGS          = true;
                    }
                }

                if (latestFile != null)
                {
                    if (fileName != latestFile.FullName)
                    {
                        lastFileLength = new FileInfo(latestFile.FullName).Length;
                        fileName       = latestFile.FullName;

                        if (file != null)
                        {
                            file.Dispose();
                            file = null;
                        }
                        file = File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);

                        if (!IsNGS)
                        {
                            mainWindow.WriteLine(Language["PSO2ChatlogFound"]);
                        }
                        else
                        {
                            mainWindow.WriteLine(Language["NGSChatlogFound"]);
                        }
                        file.Position = lastFileLength;

                        result = true;
                    }
                }
            }
            catch
            {
            }
            return(result);
        }