Beispiel #1
0
    public void OnTriggerStay2D(Collider2D collision)
    {
        if (collision.gameObject.tag == "Ladder")
        {
            climb = true;

            rb.bodyType = RigidbodyType2D.Kinematic;
            transform.Translate(Vector3.up * Input.GetAxis("Vertical") * Time.deltaTime * speed * 0.5f);
        }

        else if (Input.GetKey(KeyCode.E))
        {
            if (collision.gameObject.tag == "Door")
            {
                door fromDoor = collision.GetComponent <door>();

                if (!fromDoor.isOpen && haveKey)
                {
                    fromDoor.Unlock();

                    haveKey = false;
                }

                else if (fromDoor.isOpen)
                {
                    if (!isDoorWait)
                    {
                        fromDoor.Teleport();
                    }
                }
            }
        }
    }
Beispiel #2
0
    void TeleportPlayer()
    {
        if (!toDoor.isOpen)
        {
            toDoor.Unlock();
        }

        Player playerScript = player.GetComponent <Player>();

        playerScript.transform.position = new Vector3(toDoor.transform.position.x, toDoor.transform.position.y, playerScript.transform.position.z);

        Rigidbody2D rb = player.GetComponent <Rigidbody2D>();
    }