コガネブログ

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

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

はじめに

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

使用例

送信側のスクリプト

using UnityEngine;
using UnityEvents;

public struct PlayerRespawnSignal
{
}

public class Player : MonoBehaviour
{
    private void Start()
    {
        GlobalEventSystem.SendEvent( new PlayerRespawnSignal() );
    }
}

受信側のスクリプト

using UnityEngine;
using UnityEvents;

public class GameScene : MonoBehaviour
{
    private void OnEnable()
    {
        GlobalEventSystem.Subscribe<PlayerRespawnSignal>( OnPlayerRespawn );
    }

    private void OnDisable()
    {
        GlobalEventSystem.Unsubscribe<PlayerRespawnSignal>( OnPlayerRespawn );
    }

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

関連記事