Example #1
0
    void Update()
    {
        if (Input.anyKeyDown)
        {
            // イベント関数の呼び出し
            myEvent.Invoke();

            // 追加された関数がInvokeの引数に関係なくインスペクター上で追加したものは呼ばれてる。どういう仕組み?
            myEvent_1.Invoke(1);
        }

        if (Input.GetKeyDown("q"))
        {
            Debug.Log("Quitting Remove MyEvent");
            // UnityEvent から非永続的なリスナーを削除
            myEvent.RemoveListener(MyEvent);

            // インスペクター上で登録したものはどうなるか?
            myEvent_1.RemoveAllListeners();
            // イベントからすべての非永続的な (つまり、スクリプトから作成された) リスナーのみを削除
        }
    }