private void Update() { RaycastHit objectFront; if (Physics.Raycast(_mainCam.position, _mainCam.forward, out objectFront, 100)) { AItem item = objectFront.collider.GetComponent <AItem>(); if (item) { _uiManager.SetObjectName(item.GetInfos().Name); } else { _uiManager.HideObjectName(); } } else { _uiManager.HideObjectName(); } if (_inputManager.GetActionPressed()) { if (objectFront.collider) { AItem item = objectFront.collider.GetComponent <AItem>(); if (item) { _playerInventory.AddItemWithObject(item.GetInfos()); Destroy(objectFront.collider.gameObject); } } } }
public void TryToCraft() { bool canCraft = true; for (int i = 0; i < _neededInfos.Count; i++) { if (_playerInventory.GetQuantityByID(_neededInfos[i].Id) < _neededInfos[i].Quantity) { canCraft = false; break; } } if (canCraft) { _playerInventory.AddItemWithObject(_infos); for (int i = 0; i < _neededInfos.Count; i++) { _playerInventory.RemoveItemWithID(_neededInfos[i].Id, _neededInfos[i].Quantity); } } }