public Tuple <Vector3, Vector3> Reflect(Vector3 currDir, BeamColor color, RaycastHit hit) { if (hit.collider.gameObject.CompareTag("Lens")) { var lens = hit.collider.gameObject.GetComponent <Lens>(); if (color == lens.Color) { return(Tuple.Create(lens.GetReflectionDirection(), lens.transform.position)); } else { return(Tuple.Create(-currDir, lens.transform.position)); } } return(Tuple.Create(Vector3.Reflect(currDir, hit.normal), hit.point)); }
public Tuple <Vector3, Vector3> Reflect(Vector3 currDir, BeamColor color, RaycastHit hit) { return(Tuple.Create(Vector3.Reflect(currDir, hit.normal), hit.point)); }