void SetupLevels()
{
levels = new List<Map>(Properties.MaxMaps);
MapGen = new MapGenerator();
Random random = new Random();
if (File.Exists("levels/" + Properties.MainLevel + ".lvl"))
{
mainLevel = Map.Load(Properties.MainLevel);
if (mainLevel == null)
{
if (File.Exists("levels/" + Properties.MainLevel + ".lvl.backup"))
{
Logger.Log("Atempting to load backup.", LogType.Debug);
File.Copy("levels/" + Properties.MainLevel + ".lvl.backup", "levels/" + Properties.MainLevel + ".lvl", true);
mainLevel = Map.Load(Properties.MainLevel);
if (mainLevel == null)
{
Logger.Log("BACKUP FAILED!", LogType.Error);
}
}
else
{
Logger.Log("BACKUP NOT FOUND!", LogType.Error);
}
}
}
else
{
Logger.Log("Warning: No main.lvl found.", LogType.Debug);
Logger.Log("Creating Default main.lvl", LogType.Debug);
mainLevel = new Map(Properties.MainLevel, 128, 64, 128, "flat");
mainLevel.permissionvisit = LevelPermission.Guest;
mainLevel.permissionbuild = LevelPermission.Guest;
mainLevel.Save();
}
levels.Add(mainLevel);
if (File.Exists("autoload.txt"))
{
try
{
string[] lines = File.ReadAllLines("autoload.txt");
foreach (string line in lines)
{
//int temp = 0;
string _line = line.Trim();
try
{
if (_line == "") { continue; }
if (_line[0] == '#') { continue; }
int index = _line.IndexOf("=");
string key = line.Split('=')[0].Trim();
string value;
try
{
value = line.Split('=')[1].Trim();
}
catch
{
value = "0";
}
if (!key.Equals("main"))
{
Command.all.Find("load").Use(key + " " + value);
}
else // Main's already loaded so we just check and set the physics level
{
try
{
int temp = int.Parse(value);
if (temp >= 0 && temp <= 2)
{
mainLevel.Physics = (Physics) temp;
}
}
catch
{
Logger.Log("The Physics variable for main in autoload.txt is invalid!", LogType.Warning);
}
}
}
catch (Exception ex)
{
Logger.Log(_line + " failed.", LogType.Error);
Logger.Log(ex.Message, LogType.ErrorMessage);
}
}
}
catch
{
Logger.Log("autoload.txt error", LogType.Error);
}
GC.Collect();
GC.WaitForPendingFinalizers();
}
else
{
Logger.Log("autoload.txt does not exist", LogType.Debug);
}
}