Inspector box for Methodes to be called

I want to use such a box for my own script in the Inspector.
If a special condition is mached I want to invoke all Methods.
alt text

This is taken from the UI Button Component.
Can sombody say how that can be achived with C#?

If you want simple event use this:

public UnityEvent onClick;

If you need parameter use this:

[System.Serializable]
public class OnValueChanged : UnityEvent<bool>{}; //need boolean parameter
public OnValueChanged onValueChanged;

In full code:

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Events;
using System.Collections;
using System;

public class Test : MonoBehaviour {
    public UnityEvent onClick;

	[System.Serializable]
    public class OnValueChanged : UnityEvent<bool>{};
	public OnValueChanged onValueChanged;


    void Update() {
        // example
        if (Input.GetKeyDown(KeyCode.A)) onValueChanged.Invoke(false);
        if (Input.GetKeyDown(KeyCode.S)) onValueChanged.Invoke(true);
    }


    void OnMouseDown() {
        onClick.Invoke();
    }
}

You can sort of do this an easier way (unfortunately no onClick event) but a few others by going Inspector > Add Component > Event > Event Trigger > Add New Event Type