public void ExecuteInteraction(GameObject interactionGameObject, float distanceTo) { switch (interactionGameObject.name) { case "GardenTable": Debug.Log("Leave the table alone!"); tableSound.Play(); clueDisplay.Show(ClueDisplay.ClueDisplayType.BARK_STICK); break; case "HallTable": Debug.Log("Leave the table alone!"); tableSound.Play(); clueDisplay.Show(ClueDisplay.ClueDisplayType.WHERE_TO_STAND); break; case "ClueBelowDog": clueDisplay.Show(ClueDisplay.ClueDisplayType.ORDER_OF_DIGITS); break; case "Key": playerInventory.AddItem(Inventory.InventoryItem.KEY); Destroy(interactionGameObject); pickupSound.Play(); break; case "Chest": Chest chestComp = interactionGameObject.GetComponent <Chest>(); if (chestComp.IsOpen()) { clueDisplay.Show(ClueDisplay.ClueDisplayType.FLOWER_LEVER_SOULTION); } else { if (playerInventory.DoesExist(Inventory.InventoryItem.KEY)) { chestComp.Open(); } } break; case "LeverYellow": yellowLeverState = !yellowLeverState; HandleLeverSwitch(interactionGameObject); break; case "LeverWhite": whiteLeverState = !whiteLeverState; HandleLeverSwitch(interactionGameObject); break; case "LeverPink": pinkLeverState = !pinkLeverState; HandleLeverSwitch(interactionGameObject); break; case "LeverEmpty": emptyLeverState = !emptyLeverState; HandleLeverSwitch(interactionGameObject); break; case "Stick": playerInventory.AddItem(Inventory.InventoryItem.STICK); Destroy(interactionGameObject); pickupSound.Play(); break; case "Dog": Dog dogComp = interactionGameObject.GetComponent <Dog>(); if (!dogComp.IsHappy() && dogComp.CanReceiveStick()) { if (playerInventory.DoesExist(Inventory.InventoryItem.STICK)) { playerInventory.RemoveItem(Inventory.InventoryItem.STICK); dogComp.FetchStick(); } } break; case "BrownBook": playerInventory.AddItem(Inventory.InventoryItem.BROWN_BOOK); Destroy(interactionGameObject); pickupSound.Play(); break; case "BlueBook": playerInventory.AddItem(Inventory.InventoryItem.BLUE_BOOK); Destroy(interactionGameObject); pickupSound.Play(); break; case "RedBook": playerInventory.AddItem(Inventory.InventoryItem.RED_BOOK); Destroy(interactionGameObject); pickupSound.Play(); break; case "Bookshelf": Bookshelf bookshelfComp = interactionGameObject.GetComponent <Bookshelf>(); if (bookshelfComp.IsFull()) { Debug.Log("Bookshelf full!"); tableSound.Play(); clueDisplay.Show(ClueDisplay.ClueDisplayType.BOOKS_CLOSEUP); } else { Inventory.InventoryItem book = playerInventory.GetBook(); if (book != Inventory.InventoryItem.NULL) { playerInventory.RemoveItem(book); bookshelfComp.AddBook(book); } } break; case "DigitBoard1": digitBoard1Value = interactionGameObject.GetComponent <DigitBoard>().IncreaseValue(); HandleDigitBoardACtion(); break; case "DigitBoard2": digitBoard2Value = interactionGameObject.GetComponent <DigitBoard>().IncreaseValue(); HandleDigitBoardACtion(); break; case "DigitBoard3": digitBoard3Value = interactionGameObject.GetComponent <DigitBoard>().IncreaseValue(); HandleDigitBoardACtion(); break; } }