public void Teleport() { // teleport player to isle; CharacterController cr = player.GetComponent <CharacterController>(); cr.velocity.Set(0, 0, 0); IsleAbstract currentIsle = lvlManager.currentIsle; int direction = Direction; targetIsle = currentIsle.getIsleFromForection(direction); targetPortal = targetIsle.IsleObj.Portals[(direction + 3) % 6]; Vector3 startPos = transform.position + new Vector3(0, 1, 0); Vector3 targetPos = targetPortal.spawnPoint.transform.position + new Vector3(0, 1, 0); cr.enabled = false; player.GetComponent <Player>().IsControllable = false; // start lerping of player player.GetComponent <LerperTeleportation>().StartLerp(startPos, targetPos, 50); checkTeleportFinished = StartCoroutine(checkTeleportFiniedHandler()); lvlManager.currentIsle.IsleObj.RemoveBorders(); }