I've been working with Events for some time with Winforms, but I'm still quite new with Unity stuff. My project is just to get some C# code running on Android so there's no need for a super efficient solution, just a working one.
Event Handler declaration:
public event EventHandler OnShow, OnHide, OnClose;
Event Handler call:
Debug.Log("OnShow");
if (OnShow != null)
{
Debug.Log("OnShow_Firing");
OnShow(this, new EventArgs());
}
else{
Debug.Log("OnShow_empty");
}
Event Handler Added in an other script but the same gameobject
void Awake(){
Debug.Log("Awake");
this.gameObject.GetComponent<windowScript>().OnShow += OnShowCalled;
}
private void OnShowCalled(object o,EventArgs e)
{
Debug.Log("OnShowCalled");
}
My Debug output is following:
- "Awake"
- "OnShow"
- "OnShowFiring"
but "OnShowCalled" is never executed, there're no Exceptions in Unity's console.
I tested EventArgs.Empty
instead of new EventArgs()
as mentioned in the comments with no effect on my problem .
Looking forward for any help.