Files
HauntedBloodlines/Assets/Scripts/Events/FunctionReference.cs
2025-05-29 22:31:40 +03:00

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");
}
}