/// <summary> /// process the Pick Up action /// </summary> private void PickUpAction() { // // display a list of traveler objects in space-time location and get a player choice // int travelerObjectToPickUpId = _gameConsoleView.DisplayGetTravelerObjectToPickUp(); // // add the traveler object to traveler's inventory // if (travelerObjectToPickUpId != 0) { // // get the game object from the universe // TravelerObject travelerObject = _gameUniverse.GetGameObjectById(travelerObjectToPickUpId) as TravelerObject; // // note: traveler object is added to list and the space-time location is set to 0 // _sar.Inventory.Add(travelerObject); travelerObject.SpaceTimeLocationID = 0; // // display confirmation message // _gameConsoleView.DisplayConfirmTravelerObjectAddedToInventory(travelerObject); } }
public static string LookAt(GameObject gameObject) { string messageBoxText = ""; messageBoxText = $"{gameObject.Name}\n" + " \n" + gameObject.Description + " \n" + " \n"; if (gameObject is TravelerObject) { TravelerObject travelerObject = gameObject as TravelerObject; messageBoxText += $"The {travelerObject.Name} has a value of {travelerObject.Value} and "; if (travelerObject.CanInventory) { messageBoxText += "may be added to your inventory."; } else { messageBoxText += "may not be added to your inventory."; } } else { messageBoxText += $"The {gameObject.Name} may not be added to your inventory."; } return(messageBoxText); }
/// <summary> /// display the information required for the player to choose an object to pick up /// </summary> /// <returns>game object Id</returns> public int DisplayGetTravelerObjectToPickUp() { int gameObjectId = 0; bool validGameObjectId = false; // // get a list of traveler objects in the current space-time location // List <TravelerObject> travelerObjectsInSpaceTimeLocation = _gameUniverse.GetTravelerObjectsBySpaceTimeLocationId(_gameTraveler.SpaceTimeLocationID); if (travelerObjectsInSpaceTimeLocation.Count > 0) { DisplayGamePlayScreen("Pick Up Game Object", Text.GameObjectsChooseList(travelerObjectsInSpaceTimeLocation), ActionMenu.ObjectMenu, ""); while (!validGameObjectId) { // // get an integer from the player // GetInteger($"Enter the Id number of the object you wish to add to your inventory: ", 0, 0, out gameObjectId); // // validate integer as a valid game object id and in current location // if (_gameUniverse.IsValidTravelerObjectByLocationId(gameObjectId, _gameTraveler.SpaceTimeLocationID)) { TravelerObject travelerObject = _gameUniverse.GetGameObjectById(gameObjectId) as TravelerObject; if (travelerObject.CanInventory) { validGameObjectId = true; } else { ClearInputBox(); DisplayInputErrorMessage("It appears you may not inventory that object. Please try again."); } } else { ClearInputBox(); DisplayInputErrorMessage("It appears you entered an invalid game object id. Please try again."); } } } else { DisplayGamePlayScreen("Pick Up Game Object", "It appears there are no game objects here.", ActionMenu.ObjectMenu, ""); } return(gameObjectId); }
/// <summary> /// display the information required for the player to choose an object to pick up /// </summary> /// <returns>game object Id</returns> public int DisplayGetInventoryObjectToPutDown() { int travelerObjectId = 0; bool validInventoryObjectId = false; if (_gameTraveler.Inventory.Count > 0) { DisplayGamePlayScreen("Put Down Game Object", Text.GameObjectsChooseList(_gameTraveler.Inventory), ActionMenu.ObjectMenu, ""); while (!validInventoryObjectId) { // // get an integer from the player // GetInteger($"Enter the Id number of the object you wish to remove from your inventory: ", 0, 0, out travelerObjectId); // // find object in inventory // note: LINQ used, but a foreach loop may also be used // TravelerObject objectToPutDown = _gameTraveler.Inventory.FirstOrDefault(o => o.Id == travelerObjectId); // // validate object in inventory // if (objectToPutDown != null) { validInventoryObjectId = true; } else { ClearInputBox(); DisplayInputErrorMessage("It appears you entered the Id of an object not in the inventory. Please try again."); } } } else { DisplayGamePlayScreen("Pick Up Game Object", "It appears there are no objects currently in inventory.", ActionMenu.ObjectMenu, ""); } return(travelerObjectId); }
/// <summary> /// process the Put Down action /// </summary> private void PutDownAction() { // // display a list of traveler objects in inventory and get a player choice // int inventoryObjectToPutDownId = _gameConsoleView.DisplayGetInventoryObjectToPutDown(); // // get the game object from the universe // TravelerObject travelerObject = _gameUniverse.GetGameObjectById(inventoryObjectToPutDownId) as TravelerObject; // // remove the object from inventory and set the space-time location to the current value // _sar.Inventory.Remove(travelerObject); travelerObject.SpaceTimeLocationID = _sar.SpaceTimeLocationID; // // display confirmation message // _gameConsoleView.DisplayConfirmTravelerObjectRemovedFromInventory(travelerObject); }
/// <summary> /// confirm object removed from inventory /// </summary> /// <param name="objectRemovedFromInventory">game object</param> public void DisplayConfirmTravelerObjectRemovedFromInventory(TravelerObject objectRemovedFromInventory) { DisplayGamePlayScreen("Put Down Game Object", $"The {objectRemovedFromInventory.Name} has been removed from your inventory.", ActionMenu.ObjectMenu, ""); }
/// <summary> /// confirm object added to inventory /// </summary> /// <param name="objectAddedToInventory">game object</param> public void DisplayConfirmTravelerObjectAddedToInventory(TravelerObject objectAddedToInventory) { DisplayGamePlayScreen("Pick Up Game Object", $"The {objectAddedToInventory.Name} has been added to your inventory.", ActionMenu.ObjectMenu, ""); }