コガネブログ

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

【Unity】Inspector でイベントを簡潔に設定できる「QuickEvent - Persistent Callback System」紹介(無料)

f:id:baba_s:20180219085244p:plain

概要

 
2016/1/22 に「QuickEvent - Persistent Callback System」がリリースされました
「QuickEvent - Persistent Callback System」を導入すると、
Inspector でイベントを簡潔に設定できるようになります

検証環境

  • Unity 2017.3.0f3
  • QuickEvent - Persistent Callback System 1.1.1

使用例

f:id:baba_s:20180219085440p:plain

前者が QuickEvent、後者が UnityEvent になります
QuickEvent は、イベントの発生タイミングを
「Editor And Runtime」以外に設定できない代わりに、
UnityEvent よりも表示がスッキリしています

using ByteSheep.Events;
using System;
using UnityEngine;

public class Example : MonoBehaviour
{
    [Serializable] public class ColorEvent : QuickEvent<Color> { }

    public QuickEvent OnQuickEvent;
    public ColorEvent OnColorEvent;
    public QuickStringEvent OnStringEvent;

    private void Start()
    {
        OnQuickEvent.AddListener( () => print( "ピカチュウ" ) );
        OnQuickEvent.Invoke();
        OnColorEvent.Invoke( Color.green );
        OnStringEvent.Invoke( "ピカチュウ" );
    }
}

スクリプトから制御する場合は、上記のようなコードを記述します