はじめに
「KLab Message Buses for Unity」を Unity プロジェクトに導入することで
シンプルなメッセージバスを使用できるようになります
使用例
送信側のスクリプト
using KLab.MessageBuses; using UnityEngine; // メッセージの型 public class MyMessageBus : MessageBus<string> { } public class Example1 : MonoBehaviour { private MyMessageBus m_bus; private void Start() { m_bus = MessageBus.GetBus<MyMessageBus>(); } // 毎フレーム private void Update() { // メッセージを送信 m_bus.Broadcast( "ピカチュウ" ); } }
受信側のスクリプト
using KLab.MessageBuses; using UnityEngine; public class Example2 : MonoBehaviour { // メッセージを受信する関数 private void OnMessage( string message ) { // メッセージを受信したらログ出力 Debug.Log( message ); } // オブジェクトが有効になったら private void OnEnable() { // メッセージの受信する関数を登録 MessageBus .GetBus<MyMessageBus>() .Connect( OnMessage ) ; } // オブジェクトが無効になったら private void OnDisable() { // メッセージの受信する関数を解除 MessageBus .GetBus<MyMessageBus>() .Disconnect( OnMessage ) ; } }