通知用のクラスや構造体を用意
// スコアが加算されたことを通知するクラス public class ScoreAddSignal { public int Score { get; set; } }
イベント発行側の実装
public class Example : MonoBehaviour { private void Update() { // スペースキーが押されたら if ( Input.GetKeyDown( KeyCode.Space ) ) { // スコアが加算されたことを通知する MessageBroker.Default .Publish( new ScoreAddSignal { Score = 5 } ); } } }
イベント購読側の実装
public class GameManager : MonoBehaviour { public int m_score; private void Awake() { // スコアが加算されたことが通知されたら // スコアを加算する MessageBroker.Default .Receive<ScoreAddSignal>() .Subscribe( x => m_score += x.Score ) ; } }