예제 #1
0
        public void dropItem(String itemSearchString)
        {
            Item itemToMove = null;

            // searches the Player inventory list of items for an item that has an alias matching the search term
            foreach (Item item in this.playerInventory)
            {
                if (item.itemAliases.Contains(itemSearchString))
                {
                    itemToMove = item;
                }
            }
            if (itemToMove != null && itemToMove.canBeDropped)
            {
                // Item exists in current context and can be taken
                playerInventory.Remove(itemToMove);
                currentRoom.roomInventory.Add(itemToMove);
                ItemResponse responseObject = new ItemResponse(10, itemToMove, this);
                DisplayToConsole.displayItemResponse(responseObject);
            }
            else if (itemToMove == null)
            {
                // Item does not exist in current context
                ItemResponse responseObject = new ItemResponse(11, itemToMove, this);
                DisplayToConsole.displayItemResponse(responseObject);
            }
            else
            {
                // Item exists in current context but cannot be taken
                ItemResponse responseObject = new ItemResponse(12, itemToMove, this);
                DisplayToConsole.displayItemResponse(responseObject);
            }
        }
예제 #2
0
        public void takeItem(string itemSearchString)
        {
            Item itemToMove = null;

            // searches the room inventory list of items for an item that has an alias matching the search term
            foreach (Item item in currentRoom.roomInventory)
            {
                if (item.itemAliases.Contains(itemSearchString))
                {
                    itemToMove = item;
                }
            }
            // if a valid match was found above and we will remove it from the room and add it to the player only as long as the item can be picked up

            if (itemToMove != null && itemToMove.canPickUp)
            {
                // Item exists in current context and can be taken
                currentRoom.roomInventory.Remove(itemToMove);
                this.playerInventory.Add(itemToMove);
                ItemResponse responseObject = new ItemResponse(1, itemToMove, this);
                DisplayToConsole.displayItemResponse(responseObject);
            }
            else if (itemToMove == null)
            {
                // Item does not exist in current context
                ItemResponse responseObject = new ItemResponse(2, this);
                DisplayToConsole.displayItemResponse(responseObject);
            }
            else
            {
                // Item exists in current context but cannot be taken
                ItemResponse responseObject = new ItemResponse(3, itemToMove, this);
                DisplayToConsole.displayItemResponse(responseObject);
            }
        }