Esempio n. 1
0
    public void OnEnter()
    {
        _lever = _player.GetCurrentLever();
        _lever.Interact();

        LeanTween.rotate(_player.gameObject, _lever.playerPos.rotation.eulerAngles, .25f);
        LeanTween.move(_player.gameObject, _lever.playerPos.position, .25f);
        _player.SetRightHandObj(_lever.playerHandPos);

        GameObject.FindObjectOfType <GameController>().ShowGeneralCamera(2f, .5f);

        LeanTween.value(0f, 1f, 1f).setOnComplete(() => { _player.InteractLever(null); });
    }
Esempio n. 2
0
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.E))
        {
            Interactables inter = new Error();
            switch (obj.tag)
            //for every type of interaction define what does the script do
            {
            case "Door":
                inter = new Door();
                break;

            case "Lever":
                inter = new Lever();
                break;
                //specify eveery class and define the code in the class
            }
            inter.Interact(obj);
        }
    }
Esempio n. 3
0
    public void Interact(InputAction.CallbackContext context)
    {
        Debug.Log("Interact was called" + owner.GetInteractablesInRange());
        if (owner.GetInteractablesInRange().Count >= 1)
        {
            GameObject toInteract = owner.GetInteractablesInRange()[0];
            if (toInteract != null)
            {
                Debug.Log("Going to interact with" + owner.GetInteractablesInRange());
                Item isItem = toInteract.GetComponent <Item>();
                if (isItem != null)
                {
                    Debug.Log("Interacting with an item");
                    owner.GetInventory().AddItem(isItem.item, 1);
                    Object.Destroy(toInteract);
                }
                else
                {
                    NPC isNPC = toInteract.GetComponent <NPC>();
                    if (isNPC != null)
                    {
                        Debug.Log("Interacting with an NPC");
                        isNPC.Interact(owner);
                    }

                    Lever isLever = toInteract.GetComponent <Lever>();
                    if (isLever != null)
                    {
                        Debug.Log("Interacting with Lever");
                        isLever.Interact();
                    }
                }
                owner.RemoveInteractableInRange(toInteract);
            }
        }
    }