Cleanup LevelItem

This commit is contained in:
UnknownShadow200 2016-08-30 15:17:24 +10:00
parent 69cca9df42
commit ba7b373193

View File

@ -119,13 +119,28 @@ namespace MCGalaxy.Eco {
case "new":
case "create":
case "add":
AddPreset(p, args, preset); break;
case "delete":
case "remove":
RemovePreset(p, args, preset); break;
case "edit":
case "change":
EditPreset(p, args, preset); break;
default:
OnSetupCommandHelp(p); break;
}
}
void AddPreset(Player p, string[] args, LevelPreset preset) {
if (preset != null) { Player.Message(p, "%cThat preset level already exists"); return; }
preset = new LevelPreset();
preset.name = args[2];
if (OkayAxis(args[3]) && OkayAxis(args[4]) && OkayAxis(args[5])) {
preset.x = args[3]; preset.y = args[4]; preset.z = args[5];
} else { Player.Message(p, "%cDimension must be a power of 2"); break; }
} else {
Player.Message(p, "%cDimension must be a power of 2"); return;
}
if (!MapGen.IsRecognisedTheme(args[6])) {
MapGen.PrintThemes(p); return;
@ -141,57 +156,33 @@ namespace MCGalaxy.Eco {
Player.Message(p, "x:" + preset.x + ", y:" + preset.y + ", z:" + preset.z);
Player.Message(p, "Map Type: %f" + preset.type);
Player.Message(p, "Map Price: %f" + preset.price + " %3" + Server.moneys);
break;
}
case "delete":
case "remove":
void RemovePreset(Player p, string[] args, LevelPreset preset) {
if (preset == null) { Player.Message(p, "%cThat preset level doesn't exist"); return; }
Presets.Remove(preset);
Player.Message(p, "%aSuccessfully removed preset: %f" + preset.name);
break;
}
case "edit":
case "change":
void EditPreset(Player p, string[] args, LevelPreset preset) {
if (preset == null) { Player.Message(p, "%cThat preset level doesn't exist"); return; }
switch (args[3]) {
case "name":
case "title":
if (args[3] == "name" || args[3] == "title") {
preset.name = args[4];
Player.Message(p, "%aSuccessfully changed preset name to %f" + preset.name);
break;
} else if (args[3] == "x" || args[3] == "y" || args[3] == "z") {
if (!OkayAxis(args[4])) { Player.Message(p, "%cDimension was wrong, it must be a power of 2"); return; }
case "x":
if (OkayAxis(args[4])) {
preset.x = args[4];
Player.Message(p, "%aSuccessfully changed preset x size to %f" + preset.x);
} else { Player.Message(p, "%cDimension was wrong, it must be a power of 2"); break; }
break;
if (args[3] == "x") preset.x = args[4];
if (args[3] == "y") preset.y = args[4];
if (args[3] == "z") preset.z = args[4];
Player.Message(p, "%aSuccessfully changed preset {0} size to %f{1}", args[3], args[4]);
} else if (args[3] == "type" || args[3] == "theme") {
if (!MapGen.IsRecognisedTheme(args[4])) { MapGen.PrintThemes(p); return; }
case "y":
if (OkayAxis(args[4])) {
preset.y = args[4];
Player.Message(p, "%aSuccessfully changed preset y size to %f" + preset.y);
} else { Player.Message(p, "%cDimension was wrong, it must be a power of 2"); break; }
break;
case "z":
if (OkayAxis(args[4])) {
preset.z = args[4];
Player.Message(p, "%aSuccessfully changed preset z size to %f" + preset.z);
} else { Player.Message(p, "%cDimension was wrong, it must be a power of 2"); break; }
break;
case "type":
if (MapGen.IsRecognisedTheme(args[4])) {
preset.type = args[4].ToLower();
} else {
MapGen.PrintThemes(p); return;
}
Player.Message(p, "%aSuccessfully changed preset type to %f" + preset.type);
break;
case "price":
} else if (args[3] == "price") {
int newPrice = 0;
if (!int.TryParse(args[4], out newPrice)) {
Player.Message(p, "\"" + args[4] + "\" is not a valid integer."); return;
@ -199,18 +190,11 @@ namespace MCGalaxy.Eco {
if (newPrice < 0) {
Player.Message(p, "%cAmount of %3" + Server.moneys + "%c cannot be negative"); return;
}
preset.price = newPrice;
Player.Message(p, "%aSuccessfully changed preset price to %f" + preset.price + " %3" + Server.moneys);
break;
default:
} else {
Player.Message(p, "Supported properties to edit: name, title, x, y, z, type, price");
break;
}
break;
default:
OnSetupCommandHelp(p); break;
}
}