Esempio n. 1
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Ray        ray = cam.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;

            if (Physics.Raycast(ray, out hit, 100, movementMask))
            {
                motor.MoveToPoint(hit.point);
            }
        }
        if (Input.GetMouseButtonDown(1))
        {
            Ray        ray = cam.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;

            if (Physics.Raycast(ray, out hit, 100))
            {
                interactball interactball = hit.collider.GetComponent <interactball>();
                if (interactball != null)
                {
                    SetFocus(interactball);
                }
            }
        }
    }
Esempio n. 2
0
 void RemoveFocus()
 {
     if (focus != null)
     {
         focus.OnDefocused();
     }
     focus = null;
     motor.StopFollowing();
 }
Esempio n. 3
0
    void SetFocus(interactball newFocus)
    {
        if (newFocus != focus)
        {
            if (focus != null)
            {
                focus.OnDefocused();
            }

            focus = newFocus;
            motor.FollowTarget(newFocus);
        }
        newFocus.Onfocused(transform);
    }
Esempio n. 4
0
 public void FollowTarget(interactball newTarget)
 {
     agent.stoppingDistance = newTarget.radius;
     agent.updateRotation   = false;
     target = newTarget.interactionTransform;
 }