Example #1
0
        static void ShowMapDetails(TextBox textBox, string fileName)
        {
            DateTime creationTime, modificationTime;
            long     fileSize = 0;

            if (File.Exists(fileName))
            {
                FileInfo existingMapFileInfo = new FileInfo(fileName);
                creationTime     = existingMapFileInfo.CreationTime;
                modificationTime = existingMapFileInfo.LastWriteTime;
                fileSize         = existingMapFileInfo.Length;
            }
            else if (Directory.Exists(fileName))
            {
                DirectoryInfo dirInfo = new DirectoryInfo(fileName);
                creationTime     = dirInfo.CreationTime;
                modificationTime = dirInfo.LastWriteTime;
                foreach (FileInfo finfo in dirInfo.GetFiles())
                {
                    fileSize += finfo.Length;
                }
            }
            else
            {
                textBox.Text = "File or directory \"" + fileName + "\" does not exist.";
                return;
            }

            MapFormat format = MapUtility.Identify(fileName);
            Map       loadedMap;
            Exception loadingError = null;

            try {
                loadedMap = MapUtility.LoadHeader(fileName);
            } catch (Exception ex) {
                loadingError = ex;
                loadedMap    = null;
            }

            if (loadedMap != null)
            {
                textBox.Text = String.Format(
                    @"  Location: {0}
    Format: {1}
  Filesize: {2} KB
   Created: {3}
  Modified: {4}
Dimensions: {5}×{6}×{7}
    Blocks: {8}",
                    fileName,
                    format,
                    (fileSize / 1024),
                    creationTime.ToLongDateString(),
                    modificationTime.ToLongDateString(),
                    loadedMap.WidthX,
                    loadedMap.WidthY,
                    loadedMap.Height,
                    loadedMap.WidthX * loadedMap.WidthY * loadedMap.Height);
            }
            else
            {
                textBox.Text = String.Format(
                    @"  Location: {0}
    Format: {1}
  Filesize: {2} KB
   Created: {3}
  Modified: {4}

Could not load more information:
{5}: {6}",
                    fileName,
                    format,
                    (fileSize / 1024),
                    creationTime.ToLongDateString(),
                    modificationTime.ToLongDateString(),
                    loadingError.GetType().Name,
                    loadingError.Message);
            }
        }
Example #2
0
        static void ShowMapDetails(TextBox textBox, string fileName)
        {
            DateTime creationTime, modificationTime;
            long     fileSize;

            if (File.Exists(fileName))
            {
                FileInfo existingMapFileInfo = new FileInfo(fileName);
                creationTime     = existingMapFileInfo.CreationTime;
                modificationTime = existingMapFileInfo.LastWriteTime;
                fileSize         = existingMapFileInfo.Length;
            }
            else if (Directory.Exists(fileName))
            {
                DirectoryInfo dirInfo = new DirectoryInfo(fileName);
                creationTime     = dirInfo.CreationTime;
                modificationTime = dirInfo.LastWriteTime;
                fileSize         = dirInfo.GetFiles().Sum(finfo => finfo.Length);
            }
            else
            {
                textBox.Text = "File or directory \"" + fileName + "\" does not exist.";
                return;
            }

            MapFormat format = MapUtility.Identify(fileName, true);

            try {
                Map          loadedMap = MapUtility.LoadHeader(fileName);
                const string msgFormat =
                    @"  Location: {0}
    Format: {1}
  Filesize: {2} KB
   Created: {3}
  Modified: {4}
Dimensions: {5}×{6}×{7}
    Blocks: {8}";
                textBox.Text = String.Format(msgFormat,
                                             fileName,
                                             format,
                                             (fileSize / 1024),
                                             creationTime.ToLongDateString(),
                                             modificationTime.ToLongDateString(),
                                             loadedMap.Width,
                                             loadedMap.Length,
                                             loadedMap.Height,
                                             loadedMap.Volume);
            } catch (Exception ex) {
                const string msgFormat =
                    @"  Location: {0}
    Format: {1}
  Filesize: {2} KB
   Created: {3}
  Modified: {4}

Could not load more information:
{5}: {6}";
                textBox.Text = String.Format(msgFormat,
                                             fileName,
                                             format,
                                             (fileSize / 1024),
                                             creationTime.ToLongDateString(),
                                             modificationTime.ToLongDateString(),
                                             ex.GetType().Name,
                                             ex.Message);
            }
        }
Example #3
0
        static void ShowMapDetails(TextBox textBox, string fileName)
        {
            DateTime creationTime, modificationTime;
            long     fileSize;

            if (File.Exists(fileName))
            {
                FileInfo existingMapFileInfo = new FileInfo(fileName);
                creationTime     = existingMapFileInfo.CreationTime;
                modificationTime = existingMapFileInfo.LastWriteTime;
                fileSize         = existingMapFileInfo.Length;
            }
            else if (Directory.Exists(fileName))
            {
                DirectoryInfo dirInfo = new DirectoryInfo(fileName);
                creationTime     = dirInfo.CreationTime;
                modificationTime = dirInfo.LastWriteTime;
                fileSize         = dirInfo.GetFiles().Sum(finfo => finfo.Length);
            }
            else
            {
                textBox.Text = "File or directory \"" + fileName + "\" does not exist.";
                return;
            }

            MapFormat format = MapUtility.Identify(fileName, true);

            try {
                Map loadedMap;
                using (LogRecorder logRec = new LogRecorder()) {
                    loadedMap = MapUtility.LoadHeader(fileName);
                    if (logRec.HasMessages)
                    {
                        MessageBox.Show(logRec.MessageString);
                    }
                }
                const string msgFormat =
                    @"  Location: {0}
    Format: {1}
  Filesize: {2} KB
   Created: {3}
  Modified: {4}
Dimensions: {5}×{6}×{7}
    Blocks: {8}";
                textBox.Text = String.Format(msgFormat,
                                             fileName,
                                             format,
                                             (fileSize / 1024),
                                             creationTime.ToLongDateString(),
                                             modificationTime.ToLongDateString(),
                                             loadedMap.Width,
                                             loadedMap.Length,
                                             loadedMap.Height,
                                             loadedMap.Volume);
                if (loadedMap.Zones.Count > 0)
                {
                    StringBuilder sb = new StringBuilder();
                    sb.AppendLine();
                    sb.Append("     Zones: ");
                    bool first = true;
                    foreach (Zone zone in loadedMap.Zones)
                    {
                        if (!first)
                        {
                            sb.Append("             ");
                        }
                        sb.AppendFormat("{0} {1}", zone.Name, zone.Bounds.Dimensions);
                    }
                    textBox.AppendText(sb.ToString());
                }
            } catch (Exception ex) {
                const string msgFormat =
                    @"  Location: {0}
    Format: {1}
  Filesize: {2} KB
   Created: {3}
  Modified: {4}

Could not load more information:
{5}: {6}";
                textBox.Text = String.Format(msgFormat,
                                             fileName,
                                             format,
                                             (fileSize / 1024),
                                             creationTime.ToLongDateString(),
                                             modificationTime.ToLongDateString(),
                                             ex.GetType().Name,
                                             ex.Message);
            }
        }