Example #1
0
    void Update()
    {
        if (Input.GetButton(button))
        {
            Ray        ray;
            RaycastHit hit;
            GameObject hitTarget;

            ShowSpawnPoints(true);
            hand.ShowRayPointer(true);

            if (currentTarget != null)
            {
                Unhighlight(currentTarget);
                currentTarget = null;
            }

            ray = new Ray(hand.transform.position, hand.transform.rotation * Vector3.forward);
            if (Physics.Raycast(ray, out hit, 10f, LayerMask.GetMask("TeleportSpawn")))
            {
                hitTarget = hit.collider.gameObject;

                if (hitTarget != currentTarget)
                {
                    Highlight(hitTarget);
                    currentTarget = hitTarget;
                }
            }
        }
        else
        {
            if (currentTarget != null)
            {
                transform.position = currentTarget.transform.position;
                transform.rotation = currentTarget.transform.rotation;
            }
            ShowSpawnPoints(false);
            hand.ShowRayPointer(false);
            currentTarget = null;
        }
    }