いんでぃーづスマートフォン用の表示で見るいんでぃーづゲームメインのブレブレブログ。サンプルソース例えば、敵を倒したタイミングで、プレイヤー、UI、他の敵が何らかのアクションを起こしたい場合、どのような経路でイベントを通知するか悩みます。敵を各オブジェクトが監視したりするのは、参照が絡み合って管理がめんどうくさいです。そこで便利なのがEventBusです。元はAndroidなどに存在するライブラリです。発生したイベントをグローバルなバス(伝送経路的な意味)を伝って、それを受け取りたいオブジェクト全部に伝えるというもの。今回はこれを実装してみます。MonoBehaviourの継承は不要です。}}通知を受け取るオブジェクトで、下のように実装します。}}通知を送信する場合、倒された敵のスクリプトでNotifyを呼び出します。}}利点まずMonoBehaviourを継承していないので、シーン内にオブジェクトとして置いておく必要がありません。通知を受け取りたいオブジェクト内で登録と解除を完結できるので、オブジェクト間の依存性を極力減らすことができます。新しい種類の通知を受け取りたい場合、デリゲートを増やしていけばいくらでも対応可能です。(ファイル肥大化が嫌ならこちらを参考に)注意Unsubscribeしないでオブジェクト削除された場合、削除されたはずのスクリプトの関数が呼ばれてしまうので、ちゃんと後処理はやりましょう。時に関数をキャストしていますが、やらなかったらどうなるかは...おたのしみに。配置が必要なのが微妙かな。配置必要問題に当たるので面倒ですね。図の素材をお借りしました。はてなブログProインディーゲーム開発してます。ゲーム開発のことやらUnityまわりのことをつらつらと。当サイトの広告バナー、リンクによって提供される情報、サービス内容について、当サイトは一切の責任を負いません。当サイトの情報を元にユーザ様が不利益を被った場合にも、当サイトは一切の責任を負いません。すべて自己責任でお願いします。スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。