コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】シンプルなメッセージバス「Signals」紹介

はじめに

「Signals」を Unity プロジェクトに導入することで
シンプルなメッセージバスを使用できるようになります

使用例

送信側のスクリプト

using deVoid.Utils;
using UnityEngine;

public class PlayerRespawnSignal : ASignal { }

public class Player : MonoBehaviour
{
    private void Start()
    {
        Signals.Get<PlayerRespawnSignal>().Dispatch();
    }
}

受信側のスクリプト

using deVoid.Utils;
using UnityEngine;

public class GameScene : MonoBehaviour
{
    private void OnEnable()
    {
        Signals.Get<PlayerRespawnSignal>().AddListener( OnPlayerRespawn );
    }

    private void OnDisable()
    {
        Signals.Get<PlayerRespawnSignal>().RemoveListener( OnPlayerRespawn );
    }

    private void OnPlayerRespawn()
    {
        Debug.Log( "プレイヤーが復活" );
    }
}

関連記事