void AttemptPickUpItem(Item item) { int slotX, slotY; if (inventory.AddItemToInventory(item.ItemID, out slotX, out slotY)) { CmdDestroyObject(item.gameObject); uiManager.UpdateInventoryPanelsAfterSync(); } }
private void Interact() { if (Input.GetKeyDown(KeyCode.E) || Input.GetKeyDown(KeyCode.Joystick1Button2)) { Vector3 point = new Vector3(Camera.main.pixelWidth / 2, Camera.main.pixelHeight / 2, 0); Ray ray = Camera.main.ScreenPointToRay(point); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { if (hit.distance < 4) { GameObject hitObject = hit.transform.gameObject; switch (hitObject.tag) { case "Button": TriggerScript target = hitObject.GetComponent <TriggerScript>(); if (target) { target.ActivateTrigger(); } break; case "Item": Item item = hitObject.GetComponent <Item>(); if (item) { inventory.AddItemToInventory(item); } break; case "Lock": KeyHole keyLock = hitObject.GetComponent <KeyHole>(); if (keyLock) { Debug.Log("Keylock found!"); if (inventory.CheckForKey(keyLock.LockNumber)) { keyLock.ActivateTrigger(); } } break; default: break; } } } } }
public void AddItemToInventory(int index) { if (chestContents.contents[index].itemType == Item.ItemType.Ammo) { Ammo ammo = (Ammo)chestContents.contents[index]; playerInventory.GetComponent <PlayerAmmo>().AddAmmo(chestContents.itemNumberInStack[index], ammo.ammoType); chestContents.contents.RemoveAt(index); chestContents.itemNumberInStack.RemoveAt(index); } else { playerInventory.AddItemToInventory(chestContents.contents[index], chestContents, index); } }
void OnCollisionEnter2D(Collision2D other) { if (other.gameObject.CompareTag("object")) { vitals.TakeDamage(rig.velocity.magnitude); } if (other.gameObject.CompareTag("item")) { int itemToAdd = other.gameObject.GetComponent <pickUp>().itemToPickUp; bool result = inventory.AddItemToInventory(itemToAdd); if (result) { Destroy(other.gameObject); } } }
private void CheckInteraction() { var spawnPoint = GameObject.Find("ObjectSpawnPoint").transform.position; if (_playerControllerReference.CheckIfHoldingObject() == false) { if (_tapCount < 2) { transform.position = spawnPoint; GetComponent <Rigidbody>().isKinematic = true; _playerControllerReference.SetIsHoldingObjectBool(true); transform.parent = GameObject.Find("Player").transform; } else { if (_playerInventoryReference.CheckInventoryCount() < 10) { _playerInventoryReference.AddItemToInventory(InventoryObj); Destroy(gameObject); } else { Debug.Log("No Inventory Spaces Left"); } } } else { if (transform.parent) { GetComponent <Rigidbody>().isKinematic = false; _playerControllerReference.SetIsHoldingObjectBool(false); transform.parent = null; } } _startTimer = false; _timer = 0; _tapCount = 0; }
public void TakeItem() { string Text = ""; int _charac = 0; string _type = ""; for (int y = 0; y < items.Count; y++) { KeyboardState keyboardState = Keyboard.GetState(); if (items[y] != null) { if (new Rectangle((int)_player.Position.X, (int)_player.Position.Y, _player.animation.spriteWidth, _player.animation.spriteHeight).Intersects(items[y].Bounds)) { if (items[y].ItemClasse == _player.PlayerClasse || items[y].ItemClasse == "All") { float X = items[y]._position.X + 10; float Y = items[y]._position.Y; if (X < 70) { X += 20; } else if (X > 800) { X -= InvTexture[0].Bounds.Width + 10; } if (Y < 70) { Y += items[y].Bounds.Height; } else if (Y > 800) { Y -= InvTexture[0].Bounds.Height; } Sprite Box = new Sprite(InvTexture[0], new Vector2(X, Y), SpriteBatch); Box.Draw(); Sprite _itemSprite = new Sprite(items[y].Texture, new Vector2(X + 50, Y + 80), SpriteBatch); _itemSprite.Draw(); if (items[y].ItemType == "weapon") { _type = "Damages:"; _charac = items[y].Attack; } else if (items[y].ItemType == "armor") { _type = "Armor:"; _charac = items[y].Defense; } else if (items[y].Name == "Heal potion") { _type = "Recover HP: +"; _charac = 30; } else if (items[y].Name == "Used potion") { _type = "This potion has already been \r\n used by his former owner. \r\n Money +"; _charac = 20; } if (items[y]._specialItem == true) { Text = string.Format(" {0:0} \r\n \r\n Special Item !\r\n {4:0}: {5:0}\r\n Strength +{1:0}\r\n Intelligence +{2:0} \r\n Agility +{3:0}\r\n\r\n Press F to equip \r\n ", items[y].Name, items[y]._strength, items[y]._intelligence, items[y]._agility, _type, _charac); } else if (items[y]._specialItem == false) { Text = string.Format(" {0:0} \r\n\r\n {1:0} {2:0}\r\n \r\n Press F", items[y].Name, _type, _charac); } DrawWithShadow(Text, new Vector2(X + 10, Y + 15)); if ((keyboardState.IsKeyDown(Keys.F))) { if (_time < 10) { _time += 1; } else { List <Item> _item = Inventory.AddItemToInventory(items[y], items, y); items = _item; _time = 1; } } } else { Sprite Box = new Sprite(InvTexture[1], new Vector2(items[y]._position.X - 100, items[y]._position.Y - 100), SpriteBatch); Box.Draw(); Text = string.Format("\r\n {1:1} \r\n \r\nThis Item can only \r\nbe equipped by {0:0}", items[y].ItemClasse, items[y].Name); DrawWithShadow(Text, new Vector2(Box.Position.X + 45, Box.Position.Y + 15)); } } } } }
private void HandleOtherInput() { if (Input.GetButtonUp("CastSpell")) { var selectedItem = inventory.hotBar[inventory.currentItem]; if (selectedItem is Spell spell) { if (mana >= spell.cost) { networkObject.SendRpc(RPC_CAST_SPELL, Receivers.All, spell.index); mana -= spell.cost; } } } if (Input.GetKeyUp(KeyCode.Alpha1)) { inventory.SetCurrentItem(0); } if (Input.GetKeyUp(KeyCode.Alpha2)) { inventory.SetCurrentItem(1); } if (Input.GetKeyUp(KeyCode.Alpha3)) { inventory.SetCurrentItem(2); } if (Input.GetKeyUp(KeyCode.Alpha4)) { inventory.SetCurrentItem(3); } if (Input.GetKeyUp(KeyCode.Alpha5)) { inventory.SetCurrentItem(4); } var scroll = Input.GetAxis("Mouse ScrollWheel"); if (scroll < -0.1) { var nextItem = (inventory.currentItem + 1) % inventory.hotBarSize; inventory.SetCurrentItem(nextItem); } else if (scroll > 0.1) { var prevItem = (inventory.currentItem - 1) % inventory.hotBarSize; if (prevItem < 0) { prevItem = inventory.hotBarSize - 1; } inventory.SetCurrentItem(prevItem); } if (Input.GetKeyDown(KeyCode.E)) { Vector3 rayOrigin = playerCamera.ViewportToWorldPoint(new Vector3(0.5f, 0.5f, 0.0f)); RaycastHit hit; if (Physics.Raycast(rayOrigin, playerCamera.transform.forward, out hit, interactionRange)) { var loot = hit.collider.GetComponent <Loot>(); if (loot != null) { inventory.AddItemToInventory(spellManager.getSpell(loot.item)); } networkObject.SendRpc(RPC_PICKUP_SPELL, Receivers.All, loot.index); } } if (Input.GetKeyDown(KeyCode.Q)) { if (inventory.hotBar[inventory.currentItem] != null) { networkObject.SendRpc(RPC_PLACE_SPELL, Receivers.All, transform.position, inventory.hotBar[inventory.currentItem].index); inventory.RemoveItemFromInventory(inventory.currentItem); } } }
public void PutEquippableIntoInventory(Equippable equippableItem) { inventory.AddItemToInventory(equippableItem); equippableItem.gameObject.SetActive(false); }