AddListener(UnityAction)
Adds a non-persistent listener to the UnityEvent.
Read time 1 minuteLast updated 2 months ago
Definition
- Type: Method
- Namespace: UnityEngine.Events
- Assembly: UnityEngine.CoreModule
public void AddListener(UnityAction call)
Parameters
Callback function.
Remarks
Adds a runtime callback. You can add many different listeners. If you add identical listeners multiple times, it results in only one call being made to that specific listener.
//Attach this script to a GameObject//This script creates a UnityEvent that calls a method when a key is pressed//Note that 'q' exits this application.using UnityEngine;using UnityEngine.Events;public class Example : MonoBehaviour{ UnityEvent m_MyEvent = new UnityEvent(); void Start() { //Add a listener to the new Event. Calls MyAction method when invoked m_MyEvent.AddListener(MyAction); } void Update() { // Press Q to close the Listener if (Input.GetKeyDown("q") && m_MyEvent != null) { Debug.Log("Quitting"); m_MyEvent.RemoveListener(MyAction); #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; #endif Application.Quit(); } //Press any other key to begin the action if the Event exists if (Input.anyKeyDown && m_MyEvent != null) { //Begin the action m_MyEvent.Invoke(); } } void MyAction() { //Output message to the console Debug.Log("Do Stuff"); }}
Additional Resources: UnityEventTools.AddPersistentListener.