Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


RegisterCallback

Adds an event handler to the instance.
Read time 3 minutesLast updated 6 days ago

Definition

RegisterCallback<T>(EventCallback<T>, TrickleDown)

Adds an event handler to the instance.
public void RegisterCallback<TEventType>(EventCallback<TEventType> callback, TrickleDown useTrickleDown = TrickleDown.NoTrickleDown) where TEventType : EventBase<TEventType>, new()

Parameters

The event handler to add. If the handler is null, this method throws an exception.

useTrickleDown

By default, this callback is called during the BubbleUp phase. Pass
TrickleDown.TrickleDown
to call this callback during the TrickleDown phase.

Remarks

If the event handler is already registered for the same phase (either TrickleDown or BubbleUp), this method has no effect.
Refer to the Handle event callbacks and value changes manual page for more information and examples.
Additional Resources: PropagationPhase

RegisterCallback<T, U>(EventCallback<T, T>, T, TrickleDown)

Adds an event handler to the instance.
public void RegisterCallback<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType> callback, TUserArgsType userArgs, TrickleDown useTrickleDown = TrickleDown.NoTrickleDown) where TEventType : EventBase<TEventType>, new()

Parameters

The event handler to add. If the handler is null, this method throws an exception.

userArgs

T
Data to pass to the callback. Use this argument to avoid closing on local variables.

useTrickleDown

By default, this callback is called during the BubbleUp phase. Pass
TrickleDown.TrickleDown
to call this callback during the TrickleDown phase.

Remarks

If the event handler is already registered for the same phase (either TrickleDown or BubbleUp), this method has no effect.
Refer to the Handle event callbacks and value changes manual page for more information and examples.
Additional Resources: PropagationPhase

Examples

using UnityEngine;using UnityEngine.UIElements;[RequireComponent(typeof(UIDocument))]public class RegisterCallbackExample : MonoBehaviour{ void OnEnable() { var myClickableLabel = new Label("Click me"); myClickableLabel.RegisterCallback<PointerDownEvent, string>((ev, userArg) => { Debug.Log("Hello from " + userArg); }, gameObject.name); GetComponent<UIDocument>().rootVisualElement.Add(myClickableLabel); }}

RegisterCallback<T>(EventCallback<T>, CallbackOptions)

Adds an event handler to the instance.
public void RegisterCallback<TEventType>(EventCallback<TEventType> callback, CallbackOptions callbackOptions) where TEventType : EventBase<TEventType>, new()

Parameters

The event handler to add. If the handler is null, this method throws an exception.

callbackOptions

Extra properties to set for the callback.

Remarks

If the event handler is already registered for the same phase (either TrickleDown or BubbleUp), this method has no effect.
Refer to the Handle event callbacks and value changes manual page for more information and examples.
Additional Resources: PropagationPhase

RegisterCallback<T, U>(EventCallback<T, T>, T, CallbackOptions)

Adds an event handler to the instance.
public void RegisterCallback<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType> callback, TUserArgsType userArgs, CallbackOptions callbackOptions) where TEventType : EventBase<TEventType>, new()

Parameters

The event handler to add. If the handler is null, this method throws an exception.

userArgs

T
Data to pass to the callback. Use this argument to avoid closing on local variables.

callbackOptions

Extra properties to set for the callback.

Remarks

If the event handler is already registered for the same phase (either TrickleDown or BubbleUp), this method has no effect.
Refer to the Handle event callbacks and value changes manual page for more information and examples.
Additional Resources: PropagationPhase