はじめに
「Signals」を Unity プロジェクトに導入することで
ゲームオブジェクト間でデータの送受信ができるようになります
使用例
送受信用のデータ
using UnityEngine; // データ public struct Data { public int m_id ; public GameObject m_gameObject ; }
データ受信クラス
using Homebrew; using UnityEngine; public class Reciever : MonoBehaviour, IReceive<Data> { private void OnEnable() { // 登録 ProcessingSignals.Default.Add( this ); } private void OnDisable() { // 解除 ProcessingSignals.Default.Remove( this ); } public void HandleSignal( Data arg ) { // 受信 Debug.LogFormat( "{0} : {1}", arg.m_id, arg.m_gameObject.name ); } }
データ送信クラス
using Homebrew; using UnityEngine; public class Sender : MonoBehaviour { private void Update() { // スペースキーが押された if ( Input.GetKeyDown( KeyCode.Space ) ) { // データ作成 var data = new Data { m_id = 25, m_gameObject = gameObject, }; // 送信 ProcessingSignals.Default.Send( data ); } } }
上記のようにスクリプトを作成することで使用できます