- Home /
Add a function listener like button's to custom scripts
Hi
I would like to add some kind of function listener (if that now is the correct term) like the button's OnClick to a custom script and how can I use it? Any help regarding this is very appreciated!
If you have no idea what I am talking about then it is this I am talking about.
Thanks!
Answer by RealMTG · Sep 12, 2015 at 09:55 AM
I got it now. It is all thanks to this: https://gist.github.com/runevision/f1ddbb494de0baf9fb9c It was to great help!
This is my finished script.
public class FPC_InteractObject : MonoBehaviour {
[System.Serializable]
public class InteractionEvent : UnityEvent {}
public InteractionEvent onInteraction = new InteractionEvent();
public void Interact()
{
onInteraction.Invoke();
}
}
The interaction function is then called by something else, like a player.
Answer by YoungDeveloper · Sep 07, 2015 at 02:37 PM
Check out c# delegates
I am not quite sure how this can aid me right now. What I mostly need right now is how I can create such a field as the button's. I am not sure if I missed something but what I understood is that you can not do that with a delegate.
To expand on YD's comment a bit, look at this vid from Unity / Scripting
http://unity3d.com/learn/tutorials/modules/intermediate/scripting/events?playlist=17117
You register a function to listen for an event (you can define the criteria for that, might be On$$anonymous$$ouseDown might be OnTriggerEnter, might be something completely custom.
Your answer
Follow this Question
Related Questions
Changes in variables from function triggered by editor script during edit mode are not applied. 2 Answers
Jumping on moving platforms problem c# 1 Answer
onclick.addlistener only works once 0 Answers
My onclick action listeners I attach to my buttons as I instantiate them only work once 1 Answer
OnSelect and OnPointerEnter work in one script but not another on the same object 2 Answers