public static void startGUI() { _aStronghold.populate(3); while (true) { Console.Clear(); //Consts.printMessage("------------------------------------------------"); //Consts.printMessage(" Debug Menu " + Program._gametime); //Consts.printMessage("------------------------------------------------"); //Consts.printMessage("add farm <im>"); //Consts.printMessage("add granary <im>"); //Consts.printMessage("add|show hut <im>"); //Consts.printMessage("add|show person <number>"); //Consts.printMessage("dump <person|building|job> <id|all>"); //Consts.printMessage("makeallhungry"); //Consts.printMessage("show|suspend|resume|stop game time"); //Consts.printMessage("quit"); //Consts.printMessage(""); Console.Write("Enter input: "); string input = Console.ReadLine(); string[] words = input.Split(' '); int numberParam, buildingID; switch (words[0]) { case "add": Building building; if (words[1] == "person") { if (words.Length == 2) { numberParam = 1; } else { numberParam = Int32.Parse(words[2]); } _aStronghold.populate(numberParam); //Consts.printMessage(numberParam + " Person(s) added."); //Consts.writeToDebugLog(numberParam + " Person(s) added."); } else if (words[1] == "hut") { buildingID = _aStronghold.buildHut(Consts.hut_buildtime); if (words.Length == 3 && words[2] == "im") { Program._aStronghold.searchBuildingByID(buildingID, out building); building.NumberOfManBuildingHoursLeft = 0; } //Consts.printMessage("Hut added."); //Consts.writeToDebugLog("Hut added."); } else if (words[1] == "farm") { buildingID = _aStronghold.buildFarm(Consts.farm_buildtime); if (words.Length == 3 && words[2] == "im") { Program._aStronghold.searchBuildingByID(buildingID, out building); building.NumberOfManBuildingHoursLeft = 0; } //Consts.printMessage("Farm added."); //Consts.writeToDebugLog("Farm added."); } else if (words[1] == "granary") { buildingID = _aStronghold.buildGranary(Consts.granary_buildtime); if (words.Length == 3 && words[2] == "im") { Program._aStronghold.searchBuildingByID(buildingID, out building); building.NumberOfManBuildingHoursLeft = 0; } //Consts.printMessage("Granary added."); //Consts.writeToDebugLog("Granary added."); } //else Consts.printMessage("Invalid command."); break; case "dump": if (words[1] == "person") { if (_aStronghold._commoners.Count == 0) { //Consts.printMessage("No population in Stronghold!"); } else { if (words[2] == "all") { for (int i = 1; i <= _aStronghold._commoners.Count; i++) { //Consts.writeToDebugLog(((Character)_aStronghold._commoners[i]).getCharacterString()); } } else if (words.Length == 3) { numberParam = Int32.Parse(words[2]); if (numberParam > Consts.hut + _aStronghold._commoners.Count) { //Consts.printMessage("Invalid command."); } else { //Consts.writeToDebugLog(((Character)_aStronghold._commoners[numberParam]).getCharacterString()); } } //else Consts.printMessage("Invalid command."); } } else if (words[1] == "job") { if (_aStronghold._allJobs.Count == 0) { //Consts.printMessage("No jobs in Stronghold!"); } else { if (words[2] == "all") { foreach (Job job in _aStronghold._allJobs) { //Consts.writeToDebugLog(job.getJobString()); } } else if (words.Length == 3) { numberParam = Int32.Parse(words[2]); if (numberParam > _aStronghold._allJobs.Count) { //Consts.printMessage("Invalid command."); } else { //Consts.writeToDebugLog(_aStronghold.searchJobByID(numberParam).getJobString()); } } //else Consts.printMessage("Invalid command."); } } else if (words[1] == "building") { if (_aStronghold._buildingsList.Count == 0) { //Consts.printMessage("No buildings in Stronghold!"); } else { if (words[2] == "all") { foreach (Building build in _aStronghold._buildingsList) { //Consts.writeToDebugLog(build.getBuildingString()); } } else if (words.Length == 3) { numberParam = Int32.Parse(words[2]); if (numberParam > _aStronghold._buildingsList.Count) { //Consts.printMessage("Invalid command."); } else { Building buildingparam = new Building(); _aStronghold.searchBuildingByID(numberParam, out buildingparam); //Consts.writeToDebugLog(buildingparam.getBuildingString()); } } //else Consts.printMessage("Invalid command."); } } //else Consts.printMessage("Invalid command."); break; case "makeallhungry": for (int i = 1; i <= _aStronghold._commoners.Count; i++) { ((Character)_aStronghold._commoners[i])._bodyneeds.HungerState = HungerState.Hungry; } //Consts.printMessage("Made everyone hungry."); break; case "resume": if (words[1] == "game" && words[2] == "time") { startGameTimeThread.Resume(); //Consts.printMessage("Game time resumed."); } //else Consts.printMessage("Invalid command."); break; case "show": if (words[1] == "game" && words[2] == "time") { //Consts.printMessage(_gametime.ToString()); } else if (words[1] == "person") { numberParam = Int32.Parse(words[2]); _aStronghold.printPerson(numberParam); } //else Consts.printMessage("Invalid command."); break; case "stop": if (words[1] == "game" && words[2] == "time") { startGameTimeThread.Abort(); //Consts.printMessage("Game time stopped."); } //else Consts.printMessage("Invalid command."); break; case "suspend": if (words[1] == "game" && words[2] == "time") { startGameTimeThread.Suspend(); //Consts.printMessage("Game time suspended."); } //else Consts.printMessage("Invalid command."); break; case "quit": break; } Thread.Sleep(500); } }