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(); } } } } }
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>(); }