public string GetDescription(CommonEnums.Interactables item, CommonEnums.LocationType currentLocation) { string description = "That item is nowhere to be found"; if (DoesObjectExistInScene(item, currentLocation)) { switch (item) { case CommonEnums.Interactables.Desk: description = Desk.Description(); break; case CommonEnums.Interactables.Note: description = Note.Description; break; case CommonEnums.Interactables.Cup: description = Cup.Description; break; case CommonEnums.Interactables.Charlie: description = Charlie.Description; break; case CommonEnums.Interactables.Chair: description = Chair.Description; break; case CommonEnums.Interactables.Pen: description = Pen.Description; break; } } return(description); }
public void AddItemToScene(CommonEnums.Interactables item, CommonEnums.LocationType currentLocation) { switch (item) { case CommonEnums.Interactables.Desk: Desk.RoomLocation = currentLocation; break; case CommonEnums.Interactables.Note: Note.RoomLocation = currentLocation; break; case CommonEnums.Interactables.Cup: Cup.RoomLocation = currentLocation; break; case CommonEnums.Interactables.Charlie: Charlie.RoomLocation = currentLocation; break; case CommonEnums.Interactables.Chair: Chair.RoomLocation = currentLocation; break; case CommonEnums.Interactables.Pen: Pen.RoomLocation = currentLocation; break; } }
//Returns the description of a location object public string GetDescription(CommonEnums.LocationType location) { switch (location) { case CommonEnums.LocationType.Office: return(Office.Description); case CommonEnums.LocationType.Hallway: return(Hallway.Description); } return("Location Manager out of Sync with locations"); }
public string Look(CommonEnums.LocationType location) { if (location == CommonEnums.LocationType.None) { return(Locations.GetDescription(Player.Location)); } else if (location == CommonEnums.LocationType.Inventory) { return(Player.PlayerInventory()); } else { return(Locations.GetDescription(location)); } }
public bool isDirection(CommonEnums.LocationType currentLocation, CommonEnums.Direction direction) { bool isPath = false; switch (currentLocation) { case CommonEnums.LocationType.Office: isPath = Office.Pathways.ContainsKey(direction); break; case CommonEnums.LocationType.Hallway: isPath = Hallway.Pathways.ContainsKey(direction); break; } return(isPath); }
//Returns the contents of a location object public List <CommonEnums.Interactables> GetContents(CommonEnums.LocationType location) { List <CommonEnums.Interactables> contents = new List <CommonEnums.Interactables>(); switch (location) { case CommonEnums.LocationType.Office: contents = Office.Contains; break; case CommonEnums.LocationType.Hallway: contents = Hallway.Contains; break; } return(contents); }
public CommonEnums.LocationType DirectionToLocation(CommonEnums.LocationType currentLocation, CommonEnums.Direction direction) { CommonEnums.LocationType location = currentLocation; if (isDirection(currentLocation, direction)) { switch (currentLocation) { case CommonEnums.LocationType.Office: Office.Pathways.TryGetValue(direction, out location); break; case CommonEnums.LocationType.Hallway: Hallway.Pathways.TryGetValue(direction, out location); break; } } return(location); }
public void RemoveContents(CommonEnums.LocationType currentLocation, CommonEnums.Interactables item) { List <CommonEnums.Interactables> contents = GetContents(currentLocation); if (contents.Remove(item)) { switch (currentLocation) { case CommonEnums.LocationType.Office: Office.Contains.Clear(); Office.Contains = contents; break; case CommonEnums.LocationType.Hallway: Hallway.Contains.Clear(); Hallway.Contains = contents; break; } } }
private bool CanPickupItem(CommonEnums.Interactables item, CommonEnums.LocationType currentLocation) { bool status = false; int Size = 0; //Get size of item to carry and the location of the item switch (item) { case CommonEnums.Interactables.Desk: Size = (int)Desk.Size; break; case CommonEnums.Interactables.Note: Size = (int)Note.Size; break; case CommonEnums.Interactables.Cup: Size = (int)Cup.Size; break; case CommonEnums.Interactables.Charlie: Size = (int)Charlie.Size; break; case CommonEnums.Interactables.Chair: Size = (int)Chair.Size; break; case CommonEnums.Interactables.Pen: Size = (int)Pen.Size; break; } //If item is too big, deny if (Size < 2 && DoesObjectExistInScene(item, currentLocation)) { status = true; } return(status); }
public void SetLocation(CommonEnums.LocationType location) { CurrentLocation = location; }
private bool DoesObjectExistInScene(CommonEnums.Interactables item, CommonEnums.LocationType location) { switch (item) { case CommonEnums.Interactables.Desk: if (Desk.RoomLocation == location) { return(true); } else { return(false); } case CommonEnums.Interactables.Note: if (Note.RoomLocation == location) { return(true); } else { return(false); } case CommonEnums.Interactables.Cup: if (Cup.RoomLocation == location) { return(true); } else { return(false); } case CommonEnums.Interactables.Charlie: if (Charlie.RoomLocation == location) { return(true); } else { return(false); } case CommonEnums.Interactables.Chair: if (Chair.RoomLocation == location) { return(true); } else { return(false); } case CommonEnums.Interactables.Pen: if (Pen.RoomLocation == location) { return(true); } else { return(false); } default: return(false); } }
public void RemoveItemFromScene(CommonEnums.Interactables item, CommonEnums.LocationType currentLocation, out string error) { error = "The item you are looking for is not there."; bool canRemove = CanPickupItem(item, currentLocation); if (canRemove) { CommonEnums.Interactables nestedObject = CommonEnums.Interactables.None; switch (item) { case CommonEnums.Interactables.Desk: Desk.RoomLocation = CommonEnums.LocationType.Inventory; nestedObject = Desk.ObjectLocation; Desk.ObjectLocation = CommonEnums.Interactables.None; break; case CommonEnums.Interactables.Note: Note.RoomLocation = CommonEnums.LocationType.Inventory; nestedObject = Note.ObjectLocation; Note.ObjectLocation = CommonEnums.Interactables.None; break; case CommonEnums.Interactables.Cup: Cup.RoomLocation = CommonEnums.LocationType.Inventory; nestedObject = Cup.ObjectLocation; Cup.ObjectLocation = CommonEnums.Interactables.None; break; case CommonEnums.Interactables.Charlie: Charlie.RoomLocation = CommonEnums.LocationType.Inventory; nestedObject = Charlie.ObjectLocation; Charlie.ObjectLocation = CommonEnums.Interactables.None; break; case CommonEnums.Interactables.Chair: Chair.RoomLocation = CommonEnums.LocationType.Inventory; nestedObject = Chair.ObjectLocation; Chair.ObjectLocation = CommonEnums.Interactables.None; break; case CommonEnums.Interactables.Pen: Pen.RoomLocation = CommonEnums.LocationType.Inventory; nestedObject = Pen.ObjectLocation; Pen.ObjectLocation = CommonEnums.Interactables.None; break; } switch (nestedObject) { case CommonEnums.Interactables.Desk: Desk.Contains.Remove(item); break; case CommonEnums.Interactables.Note: Note.Contains.Remove(item); break; case CommonEnums.Interactables.Cup: Cup.Contains.Remove(item); break; case CommonEnums.Interactables.Charlie: Charlie.Contains.Remove(item); break; case CommonEnums.Interactables.Chair: Chair.Contains.Remove(item); break; case CommonEnums.Interactables.Pen: Pen.Contains.Remove(item); break; } error = null; } }
public void PutItemOnObject(CommonEnums.Interactables item, CommonEnums.Interactables destination, CommonEnums.LocationType currentLocation, out string error) { error = "I don't know how to do that"; if (item != CommonEnums.Interactables.None && destination != CommonEnums.Interactables.None) { error = "This item is too large for that action."; bool canPut = CanPutOnObject(item, destination, currentLocation); if (canPut) { switch (item) { case CommonEnums.Interactables.Desk: Desk.ObjectLocation = destination; Desk.RoomLocation = currentLocation; break; case CommonEnums.Interactables.Note: Note.ObjectLocation = destination; Note.RoomLocation = currentLocation; break; case CommonEnums.Interactables.Cup: Cup.ObjectLocation = destination; Cup.RoomLocation = currentLocation; break; case CommonEnums.Interactables.Charlie: Charlie.ObjectLocation = destination; Charlie.RoomLocation = currentLocation; break; case CommonEnums.Interactables.Chair: Chair.ObjectLocation = destination; Chair.RoomLocation = currentLocation; break; case CommonEnums.Interactables.Pen: Pen.ObjectLocation = destination; Pen.RoomLocation = currentLocation; break; } switch (destination) { case CommonEnums.Interactables.Desk: Desk.Contains.Add(item); break; case CommonEnums.Interactables.Note: Note.Contains.Add(item); break; case CommonEnums.Interactables.Cup: Cup.Contains.Add(item); break; case CommonEnums.Interactables.Charlie: Charlie.Contains.Add(item); break; case CommonEnums.Interactables.Chair: Chair.Contains.Add(item); break; case CommonEnums.Interactables.Pen: Pen.Contains.Add(item); break; } error = "The " + destination.ToString().ToLower() + " now contains a " + item.ToString().ToLower(); } } else { if (item == CommonEnums.Interactables.None && destination != CommonEnums.Interactables.None) { error = "What would you like to put in the " + destination.ToString().ToLower() + "?"; } if (item != CommonEnums.Interactables.None && destination == CommonEnums.Interactables.None) { error = "Where do you want to place the " + item.ToString().ToLower() + "?"; } } }
private bool CanPutOnObject(CommonEnums.Interactables item, CommonEnums.Interactables destination, CommonEnums.LocationType currentLocation) { bool status = false; int ItemSize = 0; int DestinationSize = 0; //Get size and location of item to place switch (item) { case CommonEnums.Interactables.Desk: ItemSize = (int)Desk.Size; break; case CommonEnums.Interactables.Note: ItemSize = (int)Note.Size; break; case CommonEnums.Interactables.Cup: ItemSize = (int)Cup.Size; break; case CommonEnums.Interactables.Charlie: ItemSize = (int)Charlie.Size; break; case CommonEnums.Interactables.Chair: ItemSize = (int)Chair.Size; break; case CommonEnums.Interactables.Pen: ItemSize = (int)Pen.Size; break; } //Get size and location of item to place first item on switch (destination) { case CommonEnums.Interactables.Desk: DestinationSize = (int)Desk.Size; break; case CommonEnums.Interactables.Note: DestinationSize = (int)Note.Size; break; case CommonEnums.Interactables.Cup: DestinationSize = (int)Cup.Size; break; case CommonEnums.Interactables.Charlie: DestinationSize = (int)Charlie.Size; break; case CommonEnums.Interactables.Chair: DestinationSize = (int)Chair.Size; break; case CommonEnums.Interactables.Pen: DestinationSize = (int)Pen.Size; break; } //If the item is too large for the destination, deny if (ItemSize < DestinationSize && DoesObjectExistInScene(item, currentLocation) && DoesObjectExistInScene(destination, currentLocation)) { status = true; } return(status); }
public Player(CommonEnums.LocationType initialLocation) { Inventory = new InventoryManager(); SetLocation(initialLocation); }
public string Go(CommonEnums.LocationType location) { Player.SetLocation(location); return(Locations.GetDescription(Player.Location)); }