Beispiel #1
0
    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();
    }