MCSharp.World.Map.Backup C# (CSharp) Method

Backup() public method

public Backup ( ) : bool
return bool
        public bool Backup()
        {
            Int16 backupNumber;
            string nextBackupPath;
            if (!Directory.Exists(backupPath))
            {
                Directory.CreateDirectory(backupPath);
                backupNumber = 1;

                // If we have to make the backup path, we should ensure it gets backed up!
                backedup = false;
            }
            else
            {
                // Count how many backups we have
                backupNumber = Convert.ToInt16(Directory.GetDirectories(backupPath + name).Length + 1);
            }

            // Only make a backup if we need it.
            if (!backedup)
            {
                try
                {
                    nextBackupPath = backupPath + name + "/" + backupNumber + "/";
                    if (!Directory.Exists(nextBackupPath))
                    {
                        Directory.CreateDirectory(nextBackupPath);
                    }
                    File.Copy(levelPath, nextBackupPath + name + ".lvl", true);
                    backedup = true;
                    foreach (Player p in Player.players)
                    {
                        if (p.level == this)
                            p.SendMessage("Backup " + backupNumber + " saved.");
                    }
                    Logger.Log("Backup " + backupNumber + " saved for " + this.name);
                }
                catch (Exception e)
                {
                    Logger.Log("Failed to backup: " + name, LogType.Error);
                    Logger.Log(e.Message, LogType.ErrorMessage);
                    Player.GlobalMessage("Failed to backup: " + name);
                }
            }
            else
            {
                Logger.Log("Map unchanged, skipping backup", LogType.Debug);
            }
            return backedup;
        }

Same methods

Map::Backup ( string path ) : bool