Exemple #1
0
    void Update()
    {
        if (isRunning == false)
        {
            return;
        }

        if (Physics.Raycast(transform.position, transform.forward, out hit))
        {
            line.SetPosition(1, Vector3.Lerp(line.GetPosition(1), transform.InverseTransformPoint(hit.point), 0.5001f));
            pointable = hit.transform.GetComponent <IPointable>();
            if (Trigger)
            {
                pointable?.Click();
            }
        }
        else
        {
            line.SetPosition(1, Vector3.Lerp(line.GetPosition(1), Vector3.forward * 0.2f, 0.5001f));
            pointable = null;
        }

        if (pointable != prevPointable)
        {
            prevPointable?.UnPoint();
            pointable?.Point();
            prevPointable = pointable;
        }
    }