Exemplo n.º 1
0
    private void Start()
    {
        tagPopper = GetComponent <TagPopper>();
        myOffset  = Quaternion.AngleAxis(Random.RandomRange(-30f, 30f), Vector3.up);

        transform.localRotation = GetTargetRotation();
    }
Exemplo n.º 2
0
    private void Update()
    {
        RaycastHit ry = new RaycastHit();

        Debug.DrawRay(transform.position, transform.forward * 10f, Color.red);

        // Youre looking at something
        if (Physics.SphereCast(transform.position, .1f, transform.forward, out ry))
        {
            var newPopper = ry.collider.GetComponent <TagPopper>();
            curs.position = ry.point;
            // Youre looking at a new thing that is not a Popper
            if (newPopper == null)
            {
                if (curPopper != null)
                {
                    ClearCurrentPopper();
                }
            }

            // Youre looking at a popper
            else
            {
                // It's a unique popper
                if (curPopper != newPopper)
                {
                    if (curPopper != null)
                    {
                        ClearCurrentPopper();
                    }

                    curPopper = newPopper;
                    curPopper.Pop(true);
                }
            }
        }

        else
        {
            if (curPopper != null)
            {
                ClearCurrentPopper();
            }

            curs.position = transform.forward * 3f;
        }
    }
Exemplo n.º 3
0
 private void ClearCurrentPopper()
 {
     curPopper.Contract();
     curPopper = null;
 }