Версия UnityEvent с тремя аргументами.
Если вы желаете использовать родной тип UnityEvent вам следует перезаписать тип класса.
#pragma strict
class My3ArgEvent extends UnityEvent.<int, int, int> {}
var m_MyEvent : My3ArgEvent;
function Start () { if (m_MyEvent == null) m_MyEvent = new My3ArgEvent ();
m_MyEvent.AddListener (Ping); }
function Update () { if (Input.anyKeyDown && m_MyEvent != null) { m_MyEvent.Invoke (5, 6, 7); } }
function Ping (i0: int, i1: int, i2: int) { Debug.Log (i0 + i1 + i2); }
using UnityEngine; using UnityEngine.Events;
[System.Serializable] public class MyIntEvent : UnityEvent<int, int, int> { }
public class ExampleClass : MonoBehaviour { public MyIntEvent m_MyEvent;
void Start() { if (m_MyEvent == null) m_MyEvent = new MyIntEvent();
m_MyEvent.AddListener(Ping); }
void Update() { if (Input.anyKeyDown && m_MyEvent != null) { m_MyEvent.Invoke(5, 6, 7); } }
void Ping(int i, int j, int k) { Debug.Log("Ping" + i + j + k); } }
GetPersistentEventCount | Получает количество зарегистрированных постоянных слушателей. |
GetPersistentMethodName | Получает имя целевого метода слушателя по индексу. |
GetPersistentTarget | Получает целевой компонент слушателя по индексу. |
RemoveAllListeners | Удаляет всех слушателей из события. |
SetPersistentListenerState | Изменяет состояние выполнения постоянного слушателя. |
GetValidMethodInfo | Задан объект, имя функции и список типов аргументов; находит подходящий метод. |