見る人が見れば、一発でわかるのかなと。
スクリプトが読める人でも無理な内容なんでしょうか?

確かにまったく読めない人だと総当たりになると思います。
おそらく最下部のpublic class RayHitComparer : IComparer
の辺りかなとは個人的には思っていますが。ここをどのように書き換えるのか、といった所ですね。
自分もざっと見たのですが、なぜ数値固定になるのかがわからなかったんですよね。
書き換えてもいいんですが、そもそも関数機能がまだ把握できていません。