using System; using System.Collections.Generic; using UnityEngine.XR.Interaction.Toolkit.Interactors; namespace UnityEngine.XR.Interaction.Toolkit.Interactables { public abstract partial class XRBaseInteractable { const string k_InteractionLayerMaskDeprecated = "interactionLayerMask has been deprecated. Use interactionLayers instead."; const string k_OnHoverEnteringDeprecated = "OnHoverEntering(XRBaseInteractor) has been deprecated. Use OnHoverEntering(HoverEnterEventArgs) instead."; const string k_OnHoverEnteredDeprecated = "OnHoverEntered(XRBaseInteractor) has been deprecated. Use OnHoverEntered(HoverEnterEventArgs) instead."; const string k_OnHoverExitingDeprecated = "OnHoverExiting(XRBaseInteractor) has been deprecated. Use OnHoverExiting(HoverExitEventArgs) instead."; const string k_OnHoverExitedDeprecated = "OnHoverExited(XRBaseInteractor) has been deprecated. Use OnHoverExited(HoverExitEventArgs) instead."; const string k_OnSelectEnteringDeprecated = "OnSelectEntering(XRBaseInteractor) has been deprecated. Use OnSelectEntering(SelectEnterEventArgs) instead."; const string k_OnSelectEnteredDeprecated = "OnSelectEntered(XRBaseInteractor) has been deprecated. Use OnSelectEntered(SelectEnterEventArgs) instead."; const string k_OnSelectExitingDeprecated = "OnSelectExiting(XRBaseInteractor) has been deprecated. Use OnSelectExiting(SelectExitEventArgs) and check for !args.isCanceled instead."; const string k_OnSelectExitedDeprecated = "OnSelectExited(XRBaseInteractor) has been deprecated. Use OnSelectExited(SelectExitEventArgs) and check for !args.isCanceled instead."; const string k_OnSelectCancelingDeprecated = "OnSelectCanceling(XRBaseInteractor) has been deprecated. Use OnSelectExiting(SelectExitEventArgs) and check for args.isCanceled instead."; const string k_OnSelectCanceledDeprecated = "OnSelectCanceled(XRBaseInteractor) has been deprecated. Use OnSelectExited(SelectExitEventArgs) and check for args.isCanceled instead."; const string k_OnActivateDeprecated = "OnActivate(XRBaseInteractor) has been deprecated. Use OnActivated(ActivateEventArgs) instead."; const string k_OnDeactivateDeprecated = "OnDeactivate(XRBaseInteractor) has been deprecated. Use OnDeactivated(DeactivateEventArgs) instead."; const string k_GetDistanceSqrToInteractorDeprecated = "GetDistanceSqrToInteractor(XRBaseInteractor) has been deprecated. Use GetDistanceSqrToInteractor(IXRInteractor) instead."; const string k_AttachCustomReticleDeprecated = "AttachCustomReticle(XRBaseInteractor) has been deprecated. Use AttachCustomReticle(IXRInteractor) instead."; const string k_RemoveCustomReticleDeprecated = "RemoveCustomReticle(XRBaseInteractor) has been deprecated. Use RemoveCustomReticle(IXRInteractor) instead."; const string k_HoveringInteractorsDeprecated = "hoveringInteractors has been deprecated. Use interactorsHovering instead."; const string k_SelectingInteractorDeprecated = "selectingInteractor has been deprecated. Use interactorsSelecting, GetOldestInteractorSelecting, or isSelected for similar functionality."; const string k_IsHoverableByDeprecated = "IsHoverableBy(XRBaseInteractor) has been deprecated. Use IsHoverableBy(IXRHoverInteractor) instead."; const string k_IsSelectableByDeprecated = "IsSelectableBy(XRBaseInteractor) has been deprecated. Use IsSelectableBy(IXRSelectInteractor) instead."; /// /// (Deprecated) Allows interaction with Interactors whose Interaction Layer Mask overlaps with any Layer in this Interaction Layer Mask. /// /// /// interactionLayerMask has been deprecated. Use instead. [Obsolete(k_InteractionLayerMaskDeprecated, true)] public LayerMask interactionLayerMask { get { Debug.LogError(k_InteractionLayerMaskDeprecated, this); throw new NotSupportedException(k_InteractionLayerMaskDeprecated); } set { _ = value; Debug.LogError(k_InteractionLayerMaskDeprecated, this); throw new NotSupportedException(k_InteractionLayerMaskDeprecated); } } /// /// (Deprecated) Gets or sets the event that Unity calls only when the first Interactor begins hovering /// over this Interactable as the sole hovering Interactor. Subsequent Interactors that /// begin hovering over this Interactable will not cause this event to be invoked as /// long as any others are still hovering. /// /// onFirstHoverEntered has been deprecated. Use with updated signature instead. [Obsolete("onFirstHoverEntered has been deprecated. Use firstHoverEntered with updated signature instead.", true)] public XRInteractableEvent onFirstHoverEntered { get => default; set => _ = value; } /// /// (Deprecated) Gets or sets the event that Unity calls only when the last remaining hovering Interactor /// ends hovering over this Interactable. /// /// onLastHoverExited has been deprecated. Use with updated signature instead. [Obsolete("onLastHoverExited has been deprecated. Use lastHoverExited with updated signature instead.", true)] public XRInteractableEvent onLastHoverExited { get => default; set => _ = value; } /// /// (Deprecated) Gets or sets the event that Unity calls when an Interactor begins hovering over this Interactable. /// /// onHoverEntered has been deprecated. Use instead. [Obsolete("onHoverEntered has been deprecated. Use hoverEntered with updated signature instead.", true)] public XRInteractableEvent onHoverEntered { get => default; set => _ = value; } /// /// (Deprecated) Gets or sets the event that Unity calls when an Interactor ends hovering over this Interactable. /// /// onHoverExited has been deprecated. Use hoverExited with updated signature instead. [Obsolete("onHoverExited has been deprecated. Use hoverExited with updated signature instead.", true)] public XRInteractableEvent onHoverExited { get => default; set => _ = value; } /// /// (Deprecated) Gets or sets the event that Unity calls when an Interactor begins selecting this Interactable. /// /// onSelectEntered has been deprecated. Use with updated signature instead. [Obsolete("onSelectEntered has been deprecated. Use selectEntered with updated signature instead.", true)] public XRInteractableEvent onSelectEntered { get => default; set => _ = value; } /// /// (Deprecated) Gets or sets the event that Unity calls when an Interactor ends selecting this Interactable. /// /// onSelectExited has been deprecated. Use with updated signature and check for ! instead. [Obsolete("onSelectExited has been deprecated. Use selectExited with updated signature and check for !args.isCanceled instead.", true)] public XRInteractableEvent onSelectExited { get => default; set => _ = value; } /// /// (Deprecated) Gets or sets the event that Unity calls when this Interactable is selected by an Interactor and either is unregistered /// (such as from being disabled or destroyed). /// /// onSelectCanceled has been deprecated. Use with updated signature and check for instead. [Obsolete("onSelectCanceled has been deprecated. Use selectExited with updated signature and check for args.isCanceled instead.", true)] public XRInteractableEvent onSelectCanceled { get => default; set => _ = value; } /// /// (Deprecated) Gets or sets the event that Unity calls when an Interactor activates this selected Interactable. /// /// onActivate has been deprecated. Use instead. [Obsolete("onActivate has been deprecated. Use activated with updated signature instead.", true)] public XRInteractableEvent onActivate { get => default; set => _ = value; } /// /// (Deprecated) Gets or sets the event that Unity calls when an Interactor deactivates this selected Interactable. /// /// onDeactivate has been deprecated. Use instead. [Obsolete("onDeactivate has been deprecated. Use deactivated with updated signature instead.", true)] public XRInteractableEvent onDeactivate { get => default; set => _ = value; } /// /// (Deprecated) Unity calls this only when the first Interactor begins hovering over this Interactable. /// /// onFirstHoverEnter has been deprecated. Use instead. [Obsolete("onFirstHoverEnter has been deprecated. Use onFirstHoverEntered instead. (UnityUpgradable) -> onFirstHoverEntered", true)] public XRInteractableEvent onFirstHoverEnter => default; /// /// (Deprecated) Unity calls this every time an Interactor begins hovering over this Interactable. /// /// onHoverEnter has been deprecated. Use instead. [Obsolete("onHoverEnter has been deprecated. Use onHoverEntered instead. (UnityUpgradable) -> onHoverEntered", true)] public XRInteractableEvent onHoverEnter => default; /// /// (Deprecated) Unity calls this every time an Interactor ends hovering over this Interactable. /// /// onHoverExit has been deprecated. Use instead. [Obsolete("onHoverExit has been deprecated. Use onHoverExited instead. (UnityUpgradable) -> onHoverExited", true)] public XRInteractableEvent onHoverExit => default; /// /// (Deprecated) Unity calls this only when the last Interactor ends hovering over this Interactable. /// /// onLastHoverExit has been deprecated. Use instead. [Obsolete("onLastHoverExit has been deprecated. Use onLastHoverExited instead. (UnityUpgradable) -> onLastHoverExited", true)] public XRInteractableEvent onLastHoverExit => default; /// /// (Deprecated) Unity calls this when an Interactor begins selecting this Interactable. /// /// onSelectEnter has been deprecated. Use instead. [Obsolete("onSelectEnter has been deprecated. Use onSelectEntered instead. (UnityUpgradable) -> onSelectEntered", true)] public XRInteractableEvent onSelectEnter => default; /// /// (Deprecated) Unity calls this when an Interactor ends selecting this Interactable. /// /// onSelectExit has been deprecated. Use instead. [Obsolete("onSelectExit has been deprecated. Use onSelectExited instead. (UnityUpgradable) -> onSelectExited", true)] public XRInteractableEvent onSelectExit => default; /// /// (Deprecated) Unity calls this when the Interactor selecting this Interactable is disabled or destroyed. /// /// onSelectCancel has been deprecated. Use instead. [Obsolete("onSelectCancel has been deprecated. Use onSelectCanceled instead. (UnityUpgradable) -> onSelectCanceled", true)] public XRInteractableEvent onSelectCancel => default; /// /// (Deprecated) The calls this method /// right before the Interactor first initiates hovering over an Interactable /// in a first pass. /// /// Interactor that is initiating the hover. /// /// OnHoverEntering(XRBaseInteractor) has been deprecated. Use instead. [Obsolete(k_OnHoverEnteringDeprecated, true)] protected virtual void OnHoverEntering(XRBaseInteractor interactor) { Debug.LogError(k_OnHoverEnteringDeprecated, this); throw new NotSupportedException(k_OnHoverEnteringDeprecated); } /// /// (Deprecated) The calls this method /// when the Interactor first initiates hovering over an Interactable /// in a second pass. /// /// Interactor that is initiating the hover. /// /// OnHoverEntered(XRBaseInteractor) has been deprecated. Use instead. [Obsolete(k_OnHoverEnteredDeprecated, true)] protected virtual void OnHoverEntered(XRBaseInteractor interactor) { Debug.LogError(k_OnHoverEnteredDeprecated, this); throw new NotSupportedException(k_OnHoverEnteredDeprecated); } /// /// (Deprecated) The calls this method /// right before the Interactor ends hovering over an Interactable /// in a first pass. /// /// Interactor that is ending the hover. /// /// OnHoverExiting(XRBaseInteractor) has been deprecated. Use instead. [Obsolete(k_OnHoverExitingDeprecated, true)] protected virtual void OnHoverExiting(XRBaseInteractor interactor) { Debug.LogError(k_OnHoverExitingDeprecated, this); throw new NotSupportedException(k_OnHoverExitingDeprecated); } /// /// (Deprecated) The calls this method /// when the Interactor ends hovering over an Interactable /// in a second pass. /// /// Interactor that is ending the hover. /// /// OnHoverExited(XRBaseInteractor) has been deprecated. Use instead. [Obsolete(k_OnHoverExitedDeprecated, true)] protected virtual void OnHoverExited(XRBaseInteractor interactor) { Debug.LogError(k_OnHoverExitedDeprecated, this); throw new NotSupportedException(k_OnHoverExitedDeprecated); } /// /// (Deprecated) The calls this method /// right before the Interactor first initiates selection of an Interactable /// in a first pass. /// /// Interactor that is initiating the selection. /// /// OnSelectEntering(XRBaseInteractor) has been deprecated. Use instead. [Obsolete(k_OnSelectEnteringDeprecated, true)] protected virtual void OnSelectEntering(XRBaseInteractor interactor) { Debug.LogError(k_OnSelectEnteringDeprecated, this); throw new NotSupportedException(k_OnSelectEnteringDeprecated); } /// /// (Deprecated) The calls this method /// when the Interactor first initiates selection of an Interactable /// in a second pass. /// /// Interactor that is initiating the selection. /// /// /// OnSelectEntered(XRBaseInteractor) has been deprecated. Use instead. [Obsolete(k_OnSelectEnteredDeprecated, true)] protected virtual void OnSelectEntered(XRBaseInteractor interactor) { Debug.LogError(k_OnSelectEnteredDeprecated, this); throw new NotSupportedException(k_OnSelectEnteredDeprecated); } /// /// (Deprecated) The calls this method /// right before the Interactor ends selection of an Interactable /// in a first pass. /// /// Interactor that is ending the selection. /// /// OnSelectExiting(XRBaseInteractor) has been deprecated. Use instead. [Obsolete(k_OnSelectExitingDeprecated, true)] protected virtual void OnSelectExiting(XRBaseInteractor interactor) { Debug.LogError(k_OnSelectExitingDeprecated, this); throw new NotSupportedException(k_OnSelectExitingDeprecated); } /// /// (Deprecated) The calls this method /// when the Interactor ends selection of an Interactable /// in a second pass. /// /// Interactor that is ending the selection. /// /// /// OnSelectExited(XRBaseInteractor) has been deprecated. Use instead. [Obsolete(k_OnSelectExitedDeprecated, true)] protected virtual void OnSelectExited(XRBaseInteractor interactor) { Debug.LogError(k_OnSelectExitedDeprecated, this); throw new NotSupportedException(k_OnSelectExitedDeprecated); } /// /// (Deprecated) The calls this method /// while this Interactable is selected by an Interactor /// right before either is unregistered (such as from being disabled or destroyed) /// in a first pass. /// /// Interactor that is ending the selection. /// /// /// /// OnSelectCanceling(XRBaseInteractor) has been deprecated. Use instead. [Obsolete(k_OnSelectCancelingDeprecated, true)] protected virtual void OnSelectCanceling(XRBaseInteractor interactor) { Debug.LogError(k_OnSelectCancelingDeprecated, this); throw new NotSupportedException(k_OnSelectCancelingDeprecated); } /// /// (Deprecated) The calls this method /// while an Interactor selects this Interactable when either /// is unregistered (such as from being disabled or destroyed) /// in a second pass. /// /// Interactor that is ending the selection. /// /// /// /// OnSelectCanceled(XRBaseInteractor) has been deprecated. Use instead. [Obsolete(k_OnSelectCanceledDeprecated, true)] protected virtual void OnSelectCanceled(XRBaseInteractor interactor) { Debug.LogError(k_OnSelectCanceledDeprecated, this); throw new NotSupportedException(k_OnSelectCanceledDeprecated); } /// /// (Deprecated) The calls this method /// when the Interactor begins an activation event on this Interactable. /// /// Interactor that is sending the activate event. /// /// OnActivate(XRBaseInteractor) has been deprecated. Use instead. [Obsolete(k_OnActivateDeprecated, true)] protected virtual void OnActivate(XRBaseInteractor interactor) { Debug.LogError(k_OnActivateDeprecated, this); throw new NotSupportedException(k_OnActivateDeprecated); } /// /// (Deprecated) The calls this method /// when the Interactor ends an activation event on this Interactable. /// /// Interactor that is sending the deactivate event. /// /// OnDeactivate(XRBaseInteractor) has been deprecated. Use instead. [Obsolete(k_OnDeactivateDeprecated, true)] protected virtual void OnDeactivate(XRBaseInteractor interactor) { Debug.LogError(k_OnDeactivateDeprecated, this); throw new NotSupportedException(k_OnDeactivateDeprecated); } /// /// (Deprecated) Calculates distance squared to interactor (based on colliders). /// /// Interactor to calculate distance against. /// Returns the minimum distance between the interactor and this interactable's colliders. /// GetDistanceSqrToInteractor(XRBaseInteractor) has been deprecated. Use instead. [Obsolete(k_GetDistanceSqrToInteractorDeprecated, true)] public virtual float GetDistanceSqrToInteractor(XRBaseInteractor interactor) { Debug.LogError(k_GetDistanceSqrToInteractorDeprecated, this); throw new NotSupportedException(k_GetDistanceSqrToInteractorDeprecated); } /// /// (Deprecated) Attaches the custom reticle to the Interactor. /// /// Interactor that is interacting with this Interactable. /// AttachCustomReticle(XRBaseInteractor) has been deprecated. Use instead. [Obsolete(k_AttachCustomReticleDeprecated, true)] public virtual void AttachCustomReticle(XRBaseInteractor interactor) { Debug.LogError(k_AttachCustomReticleDeprecated, this); throw new NotSupportedException(k_AttachCustomReticleDeprecated); } /// /// (Deprecated) Removes the custom reticle from the Interactor. /// /// Interactor that is no longer interacting with this Interactable. /// RemoveCustomReticle(XRBaseInteractor) has been deprecated. Use instead. [Obsolete(k_RemoveCustomReticleDeprecated, true)] public virtual void RemoveCustomReticle(XRBaseInteractor interactor) { Debug.LogError(k_RemoveCustomReticleDeprecated, this); throw new NotSupportedException(k_RemoveCustomReticleDeprecated); } /// /// (Deprecated) (Read Only) The list of interactors that are hovering on this interactable. /// /// /// [Obsolete(k_HoveringInteractorsDeprecated, true)] public List hoveringInteractors { get { Debug.LogError(k_HoveringInteractorsDeprecated, this); throw new NotSupportedException(k_HoveringInteractorsDeprecated); } } /// /// (Deprecated) The Interactor selecting this Interactable (may be ). /// /// /// Unity automatically sets this value during /// and and should not typically need to be set /// by a user. The setter is to allow for rare scenarios where a derived /// class needs to control this value. Changing this value does not invoke select events. ///
/// selectingInteractor has been deprecated. Use or instead. ///
/// /// [Obsolete(k_SelectingInteractorDeprecated, true)] public XRBaseInteractor selectingInteractor { get { Debug.LogError(k_SelectingInteractorDeprecated, this); throw new NotSupportedException(k_SelectingInteractorDeprecated); } protected set { _ = value; Debug.LogError(k_SelectingInteractorDeprecated, this); throw new NotSupportedException(k_SelectingInteractorDeprecated); } } /// /// (Deprecated) Determines if this interactable can be hovered by a given interactor. /// /// Interactor to check for a valid hover state with. /// Returns if hovering is valid this frame. Returns if not. /// /// /// IsHoverableBy(XRBaseInteractor) has been deprecated. Use instead. /// [Obsolete(k_IsHoverableByDeprecated, true)] public virtual bool IsHoverableBy(XRBaseInteractor interactor) { Debug.LogError(k_IsHoverableByDeprecated, this); throw new NotSupportedException(k_IsHoverableByDeprecated); } /// /// (Deprecated) Determines if a given Interactor can select this Interactable. /// /// Interactor to check for a valid selection with. /// Returns if selection is valid this frame. Returns if not. /// /// /// IsSelectableBy(XRBaseInteractor) has been deprecated. Use instead. /// [Obsolete(k_IsSelectableByDeprecated, true)] public virtual bool IsSelectableBy(XRBaseInteractor interactor) { Debug.LogError(k_IsSelectableByDeprecated, this); throw new NotSupportedException(k_IsSelectableByDeprecated); } } }