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);
}
}
}