public SlotData(float x, float y, float z, int siblingIndex, Inventory.InventoryItem item) { this.x = x; this.y = y; this.z = z; this.siblingIndex = siblingIndex; this.item = item; }
public void AddItem(int index, Inventory.InventoryItem item) { foregroundImages[index].gameObject.SetActive(true); foregroundImages[index].sprite = item.PlayerAction == PlayerAction.None ? DataStore.ItemGraphicsData[item.ItemName].Collectable : DataStore.ItemGraphicsData[item.ItemName].Sprite; itemTexts[index].text = item.Amount > 1 ? item.Amount.ToString() : String.Empty; }
public void AddItem(Vector2 position, Inventory.InventoryItem item) { var sprite = Resources.Load <Sprite>(item.ItemInfo.IconPath); if (sprite == null) { Debug.LogError(item.ItemInfo.IconPath); } inventoryItems[(int)position.x, (int)position.y].GetComponent <Image>().sprite = sprite; if (item.ItemInfo.InventoryStackSize > 1) { inventoryItems[(int)position.x, (int)position.y].transform.GetChild(0).GetComponent <Text>().text = item.Count.ToString(); } }
private void OnInventoryActiveItemChanged(Inventory.InventoryItem item) { if (item.Object.GetComponent <BaseComponent>().HasTag(Tag.WiringTool)) { _activeTool = Tag.WiringTool; } else if (item.Object.GetComponent <BaseComponent>().HasTag(Tag.CuttingTool)) { _activeTool = Tag.CuttingTool; } else { _activeTool = Tag.Untagged; } ResetWiring(); }
public void RemoveInventoryEffects(Inventory.InventoryItem item) { // Base stats foreach (StatEffect effect in item.statEffects) { RemoveEffect(effect); } // Attachment Effects if (item.itemType != Inventory.ItemType.Attachment && item.attachRequirement != Inventory.AttachRequirement.NoneAllowed) { foreach (Inventory.AttachmentSlot slot in item.Slots) { if (slot.AttachedItem != null) { RemoveInventoryEffects(slot.AttachedItem); } } } }
public void AddBook(Inventory.InventoryItem book) { // TOOD: play sound switch (book) { case Inventory.InventoryItem.RED_BOOK: redBook.SetActive(true); hasRed = true; break; case Inventory.InventoryItem.BLUE_BOOK: blueBook.SetActive(true); hasBlue = true; break; case Inventory.InventoryItem.BROWN_BOOK: brownBook.SetActive(true); hasBrown = true; break; } }
public void AddInventoryEffects(Inventory.InventoryItem item, int count) { int i; foreach (StatEffect effect in item.statEffects) { for (i = 0; i < count; i++) { AddEffect(effect); } } // Attachment Effects if (item.itemType != Inventory.ItemType.Attachment && item.attachRequirement != Inventory.AttachRequirement.NoneAllowed) { foreach (Inventory.AttachmentSlot slot in item.Slots) { if (slot.AttachedItem != null) { AddInventoryEffects(slot.AttachedItem, count); } } } }
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; } }
// Update is called once per frame void Update() { if (inputEnabled) { HandleKeys(); Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; Vector3 mousePosition = Vector3.zero; if (Physics.Raycast(ray, out hit, Mathf.Infinity, terrainLayer)) { mousePosition = hit.point; mousePosition.x = Mathf.Floor(mousePosition.x); mousePosition.z = Mathf.Floor(mousePosition.z); if (farmingManager.CanBeHarvested((int)mousePosition.x - 20, (int)mousePosition.z - 20)) { if (currentSelectedCursor == 0) { currentSelectedCursor = 1; Cursor.SetCursor(Cursors[currentSelectedCursor], Vector2.zero, CursorMode.ForceSoftware); } } else { if (currentSelectedCursor == 1) { currentSelectedCursor = 0; Cursor.SetCursor(Cursors[currentSelectedCursor], Vector2.zero, CursorMode.ForceSoftware); } } if (IsMouseNearPlayer(mousePosition)) { Marker.SetActive(true); mousePosition.x += 0.5f; mousePosition.z += 0.5f; mousePosition.y = 0.011f; Marker.transform.position = mousePosition; } else { Marker.SetActive(false); } } if (pressedKeys.Count > 0) { animator.SetBool("walking", true); KeyCode keyCode = pressedKeys[pressedKeys.Count - 1]; transform.rotation = GetRotation(keyCode); transform.position += GetDirection(keyCode); } else { animator.SetBool("walking", false); } if (Input.GetMouseButtonDown(0)) { if (Physics.Raycast(ray, out hit, Mathf.Infinity)) { if (hit.transform.tag.Equals("Market")) { float dist = Vector3.Distance(transform.position, hit.point); if (dist <= 3) { SetInputEnabled(false); marketController.OpenMarketScreen(); return; } } } mousePosition.x = Mathf.Floor(mousePosition.x); mousePosition.z = Mathf.Floor(mousePosition.z); if (IsMouseNearPlayer(mousePosition)) { Inventory.InventoryItem selectedItem = inventory.GetSelectedItem(); if (selectedItem != null) { farmingManager.Action(inventory.GetPlayerAction(), (int)mousePosition.x - 20, (int)mousePosition.z - 20, selectedItem.ItemName); } } } } }