Question by 
               pururu08 · Mar 03, 2016 at 12:54 AM · 
                linerendererraycasthit2dreflectionslaserlaser beam  
              
 
              Problem with Reflecting Laser (RaycastHit2D and Line Renderer)
i have problem with loop when im try to keep the laser reflecting when its point still hit mirror, i try using a recursive. or maybe someone can help me how to do this mechanism? what should i do with the laser to keep it reflecting when it is hit mirror?
 using UnityEngine;
 using System.Collections;
 
 public class Laser : MonoBehaviour {
 
     private LineRenderer linerenderer;
     private RaycastHit2D hit;
     private int vertCount;
 
     // Use this for initialization
     void Start () {
         linerenderer = GetComponent<LineRenderer>();
         vertCount = 2;
     }
     
     // Update is called once per frame
     void Update () {
 
         hit = Physics2D.Raycast(transform.position, transform.right);
         linerenderer.SetVertexCount(vertCount);
         linerenderer.SetPosition(0, transform.position);
         linerenderer.SetPosition(1, hit.point);
         if(hit.collider.gameObject.layer == 8)
         {
             Reflecting(hit, transform.position);
         }
         vertCount = 2;
     }
 
     void Reflecting(RaycastHit2D oldHit, Vector3 position)
     {
         Vector2 dir = Vector2.Reflect((oldHit.point - (Vector2)transform.position).normalized, oldHit.normal);
         RaycastHit2D nextHit = Physics2D.Raycast(oldHit.point, dir);
 
         vertCount++;
         linerenderer.SetVertexCount(vertCount);
         linerenderer.SetPosition(vertCount - 1, nextHit.point);
         Debug.Log(vertCount);
         if (nextHit.collider.gameObject.layer == 8)
         {
             Reflecting(nextHit, oldHit.point);
         }
     }
 }
 
              
               Comment
              
 
               
              Your answer