public void GetInput(string theInput) { Random randy = new Random(); WriteLine("--" + theInput); updateTextPosition(); theInput = theInput.ToLower(); char[] myCharCollection = new char[theInput.Length]; myCharCollection = theInput.ToCharArray(); if (!theInput.Contains(',')) { theInput = new string(myCharCollection.Where(c => !char.IsPunctuation(c)).ToArray()); } switch (theInput) { //TESTMODE COMMANDS---------------------------------------------------------------------------------------- case "testmode": WriteLine(">>>testMode starting..."); testMode = true; break; case "testmodeoff": testMode = false; WriteLine(">>>testMode stopped..."); break; //CONVERSATIONAL COMMANDS---------------------------------------------------------------------------------- case "thecakeisalie": WriteLine(">>>Well, for my sister GLADoS that might be true, but I'll give you all the cake you want!"); break; case "read a book": WriteLine(">>>I'm a computer, I can't read. You can check out the Digital Library though."); break; //INVENTORY DEBUG COMMANDS--------------------------------------------------------------------------------- case "give player something": if (inventoryChanger.GivePlayer(InventoryManager.ERK_ITEM)) { WriteLine(">>>Giving Player an ERK... [OK]"); } else { WriteLine("Giving Player an ERK... [FAIL]"); } break; //DOOR COMMANDS------------------------------------------------------------------------------------------- //UNLOCK DOORS case "opn7169": WriteLine("UNLOCKING DOORS..."); if (gameManager.commandEntered) { Write(" [FAIL--ALREADY UNLOCKED]"); } else { gameManager.commandEntered = true; Write(" [OK]"); } break; //OPEN DOORS---------------------------------------- case "open bathroom door": if (doorManager.Open(DoorManager.BATHROOM_DOOR)) { Write(" [OK]"); } else { Write(" [FAIL--DOOR ALREADY OPEN]"); } break; case "open airlock door one": if (doorManager.Open(DoorManager.AIRLOCK_DOOR_ONE)) { Write(" [OK]"); } else { Write(" [FAIL--DOOR ALREADY OPEN]"); } break; case "open airlock door two": if (doorManager.Open(DoorManager.AIRLOCK_DOOR_TWO)) { Write(" [OK]"); } else { Write(" [FAIL--DOOR ALREADY OPEN]"); } break; case "open emergency airlock door one": if (doorManager.Open(DoorManager.EMERGENCY_AIRLOCK_DOOR_ONE)) { Write(" [OK]"); } else { Write(" [FAIL--DOOR ALREADY OPEN]"); } break; case "open emergency airlock door two": if (doorManager.Open(DoorManager.EMERGENCY_AIRLOCK_DOOR_TWO)) { Write(" [OK]"); } else { Write(" [FAIL--DOOR ALREADY OPEN]"); } break; //CLOSE DOORS---------------------------------------- case "close bathroom door": if (doorManager.Close(DoorManager.BATHROOM_DOOR)) { Write(" [OK]"); } else { Write(" [FAIL--DOOR ALREADY CLOSED]"); } break; case "close airlock door one": if (doorManager.Close(DoorManager.AIRLOCK_DOOR_ONE)) { Write(" [OK]"); } else { Write(" [FAIL--DOOR ALREADY CLOSED]"); } break; case "close airlock door two": if (doorManager.Close(DoorManager.AIRLOCK_DOOR_TWO)) { Write(" [OK]"); } else { Write(" [FAIL--DOOR ALREADY CLOSED]"); } break; case "close emergency airlock door one": if (doorManager.Close(DoorManager.EMERGENCY_AIRLOCK_DOOR_ONE)) { Write(" [OK]"); } else { Write(" [FAIL--DOOR ALREADY CLOSED]"); } break; case "close emergency airlock door two": if (doorManager.Close(DoorManager.EMERGENCY_AIRLOCK_DOOR_TWO)) { Write(" [OK]"); } else { Write(" [FAIL--DOOR ALREADY CLOSED]"); } break; //VARIABLE COMMANDS---------------------------------------------------------------------------------------------- default: //TODO check unconstant stuff //TELEPORTATION-------------------------------------------------------------------------------------------------- if (theInput.Contains("tp")) { //A really long line of code that does a lot of stuff. player.setPlayerPosition(Vector3String.StringToVector3(theInput.Split(' ')[1])); break; } //TIME if (theInput.Contains("timeset")) { int timeToSet; if (int.TryParse(theInput.Split(' ')[1], out timeToSet)) { timemanager.setTime(timeToSet); WriteLine(" [OK]"); } else { WriteLine(" [Failed -- Not An Integer]"); } break; } WriteLine(">>>ai.exe error. Unable to interpret [" + theInput + "]"); break; } updateTextPosition(); }