Пример #1
0
    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);
                }
            }
        }
    }
Пример #2
0
    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);
            }
        }
    }