Esempio n. 1
0
        /// <summary> Deletes the .lvl (and related) files and database tables. Unloads level if it is loaded. </summary>
        public static bool Delete(string map)
        {
            Level lvl = LevelInfo.FindExact(map);

            if (lvl != null && !lvl.Unload())
            {
                return(false);
            }

            if (!Directory.Exists("levels/deleted"))
            {
                Directory.CreateDirectory("levels/deleted");
            }

            if (File.Exists(LevelInfo.DeletedPath(map)))
            {
                int num = 0;
                while (File.Exists(LevelInfo.DeletedPath(map + num)))
                {
                    num++;
                }

                File.Move(LevelInfo.MapPath(map), LevelInfo.DeletedPath(map + num));
            }
            else
            {
                File.Move(LevelInfo.MapPath(map), LevelInfo.DeletedPath(map));
            }

            DoAll(map, "", action_delete);
            DeleteDatabaseTables(map);
            BlockDBFile.DeleteBackingFile(map);
            return(true);
        }
Esempio n. 2
0
        /// <summary> Deletes the .lvl (and related) files and database tables. Unloads level if it is loaded. </summary>
        public static bool Delete(string name)
        {
            Level lvl = LevelInfo.FindExact(name);

            if (lvl != null && !lvl.Unload())
            {
                return(false);
            }

            if (!Directory.Exists("levels/deleted"))
            {
                Directory.CreateDirectory("levels/deleted");
            }

            if (File.Exists(LevelInfo.DeletedPath(name)))
            {
                int num = 0;
                while (File.Exists(LevelInfo.DeletedPath(name + num)))
                {
                    num++;
                }

                File.Move(LevelInfo.MapPath(name), LevelInfo.DeletedPath(name + num));
            }
            else
            {
                File.Move(LevelInfo.MapPath(name), LevelInfo.DeletedPath(name));
            }

            DeleteIfExists(LevelInfo.MapPath(name) + ".backup");
            DeleteIfExists("levels/level properties/" + name);
            DeleteIfExists("levels/level properties/" + name + ".properties");
            DeleteIfExists("blockdefs/lvl_" + name + ".json");
            DeleteIfExists("blockprops/lvl_" + name + ".txt");
            DeleteIfExists(BotsFile.BotsPath(name));

            DeleteDatabaseTables(name);
            BlockDBFile.DeleteBackingFile(name);
            return(true);
        }