using UnityEngine.Scripting.APIUpdating; using UnityEngine.XR.Interaction.Toolkit.Interactors; namespace UnityEngine.XR.Interaction.Toolkit.Interactables { /// /// An interface that represents an Interactable component which Interactor /// components can activate. Not to be confused with the active state of a GameObject, /// an activate event in this context refers to a contextual command action, such as /// toggling a flashlight on and off. /// /// [MovedFrom("UnityEngine.XR.Interaction.Toolkit")] public interface IXRActivateInteractable : IXRInteractable { /// /// The event that is called when the selecting Interactor activates this Interactable. /// /// /// Not to be confused with activating or deactivating a with . /// This is a generic event when an Interactor wants to activate an Interactable, /// such as from a trigger pull on a controller. ///
/// The passed to each listener is only valid while the event is invoked, /// do not hold a reference to it. ///
/// ActivateEvent activated { get; } /// /// The event that is called when an Interactor deactivates this Interactable. /// /// /// Not to be confused with activating or deactivating a with . /// This is a generic event when an Interactor wants to deactivate an Interactable, /// such as from a trigger release on a controller. ///
/// The passed to each listener is only valid while the event is invoked, /// do not hold a reference to it. ///
/// DeactivateEvent deactivated { get; } /// /// This method is called when the Interactor begins an activation event on this Interactable. /// /// Event data containing the Interactor that is sending the activate event. /// /// is only valid during this method call, do not hold a reference to it. /// /// void OnActivated(ActivateEventArgs args); /// /// This method is called when the Interactor ends an activation event on this Interactable. /// /// Event data containing the Interactor that is sending the deactivate event. /// /// is only valid during this method call, do not hold a reference to it. /// /// void OnDeactivated(DeactivateEventArgs args); } }