Exemplo n.º 1
0
    public void Teleport(Vector3 position)
    {
        // check if player has been removed
        // could have been kicked. *Looks at Solunae*
        if (!this || this == null)
        {
            return;
        }

        var hasParent = !!player.transform.parent;

        if (hasParent)
        {
            parent = player.Transform.parent;
            player.transform.SetParent(null);
        }

        player.Lock();

        if (!hasParent && parent)
        {
            player.transform.SetParent(parent);
            transform.localPosition = Vector3.zero;
        }
        else
        {
            transform.position = position;
        }

        player.Island = islandManager.FindPlayerIsland(player);
    }
Exemplo n.º 2
0
    public void Teleport(Vector3 position)
    {
        // check if player has been removed
        // could have been kicked. *Looks at Solunae*
        if (!this || this == null)
        {
            return;
        }

        if (!islandManager)
        {
            islandManager = FindObjectOfType <IslandManager>();
        }
        if (!player)
        {
            player = GetComponent <PlayerController>();
        }

        var hasParent = !!player.transform.parent;

        if (hasParent)
        {
            parent = player.Transform.parent;
            player.transform.SetParent(null);
        }

        player.GetComponent <NavMeshAgent>().Warp(position);

        player.Lock();

        if (!hasParent && parent)
        {
            player.transform.SetParent(parent);
            transform.localPosition = Vector3.zero;
        }
        else
        {
            transform.position = position;
        }

        player.Island = islandManager.FindPlayerIsland(player);
    }
Exemplo n.º 3
0
 public void Teleport(Vector3 position)
 {
     player.Lock();
     transform.position = position;
     player.Island      = islandManager.FindPlayerIsland(player);
 }
Exemplo n.º 4
0
 private IslandController FindPlayerIsland(PlayerController player)
 {
     return(islandManager.FindPlayerIsland(player));
 }