Esempio n. 1
0
    private void FixedUpdate()
    {
        hudObjects.resourceBars.UpdateVisuals();

        if (Physics.Raycast(chaseCamera.transform.position, chaseCamera.transform.forward,
                            out RaycastHit hitInfo, InteractionRange + chaseCamera.CurrentDistance, interactionMask) == false)
        {
            interactCache.interactObject = null;
            hudObjects.interactionPanel.Hide();
            return;
        }

        Collider    hitCollider = hitInfo.collider;
        DroppedItem droppedItem;

        if (droppedItem = hitCollider.GetComponent <DroppedItem>())
        {
            InteractCache newCache = new InteractCache(InteractType.droppedItem, droppedItem);
            if (HasCacheChanged(newCache) == false)
            {
                return;
            }
            else
            {
                interactCache = newCache;
            }

            hudObjects.interactionPanel.SetText("Pick Up " + droppedItem.GetItem.name);
        }

        //add other sorts of interactions here ...
    }
Esempio n. 2
0
 private bool HasCacheChanged(InteractCache newCache) =>
 newCache.type != interactCache.type || newCache.interactObject != interactCache.interactObject;