ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

SendMessageでエラーを出さない

SendMessageで指定した関数がそのオブジェクトに無かった場合、デフォルトではエラーが出て止まってしまう。
エラーを出さないようにするためには、第3引数に SendMessageOptions.DontRequireReceiver を指定すれば良い。

if (Physics.Raycast(pos, dir, out hit)) {
    GameObject obj = hit.collider.gameObject;
    obj.SendMessage("Hit", 0, SendMessageOptions.DontRequireReceiver);
}