Exemple #1
0
    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));
    }
Exemple #2
0
 public Tuple <Vector3, Vector3> Reflect(Vector3 currDir, BeamColor color, RaycastHit hit)
 {
     return(Tuple.Create(Vector3.Reflect(currDir, hit.normal), hit.point));
 }