33 lines
997 B
C#
33 lines
997 B
C#
using UnityEngine;
|
|
using System.Collections;
|
|
using InfallibleCode;
|
|
|
|
[System.Serializable]
|
|
public class FunctionReference: MonoBehaviour
|
|
{
|
|
[SerializeField]
|
|
EventDelegateTrigger eventDelegateTriggerAssignMethod;
|
|
[SerializeField]
|
|
private EventTrigger eventTrigger;
|
|
|
|
|
|
public void SubscribeMethodToEventDelegate()
|
|
{
|
|
eventDelegateTriggerAssignMethod.onEvent += () => eventTrigger.Invoke();
|
|
print("Event delegate method subscribed: " + eventTrigger.gameObject.name);
|
|
}
|
|
|
|
public void UnsubscribeMethodToEventDelegate()
|
|
{
|
|
//StartCoroutine(UnsabscribeAfterSomeSecs());
|
|
eventDelegateTriggerAssignMethod.onEvent -= () => eventTrigger.Invoke();
|
|
print("Event delegate method unsabscribed");
|
|
}
|
|
|
|
IEnumerator UnsabscribeAfterSomeSecs()
|
|
{
|
|
yield return new WaitForSeconds(0.1f);
|
|
eventDelegateTriggerAssignMethod.onEvent -= () => eventTrigger.Invoke();
|
|
print("Event delegate method unsabscribed");
|
|
}
|
|
} |