forked from cgvr/DeltaVR
		
	
		
			
				
	
	
		
			33 lines
		
	
	
		
			968 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			968 B
		
	
	
	
		
			C#
		
	
	
	
	
	
using UnityEngine.XR.Interaction.Toolkit;
 | 
						|
 | 
						|
namespace UnityEngine.XR.Content.Interaction
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    /// Triggers a Unity Event once when an interactable is selected by an interactor.
 | 
						|
    /// </summary>
 | 
						|
    public class OnSelectInteractable : MonoBehaviour
 | 
						|
    {
 | 
						|
        [SerializeField]
 | 
						|
        [Tooltip("The interactable that is checked for selection.")]
 | 
						|
        XRBaseInteractable m_TargetInteractable;
 | 
						|
 | 
						|
        [SerializeField]
 | 
						|
        [Tooltip("The function to call when the interactable is selected.")]
 | 
						|
        SelectEnterEvent m_OnSelected;
 | 
						|
 | 
						|
        void Start()
 | 
						|
        {
 | 
						|
            if (m_TargetInteractable != null)
 | 
						|
                m_TargetInteractable.selectEntered.AddListener(OnSelected);
 | 
						|
        }
 | 
						|
 | 
						|
        void OnSelected(SelectEnterEventArgs args)
 | 
						|
        {
 | 
						|
            m_OnSelected.Invoke(args);
 | 
						|
 | 
						|
            if (m_TargetInteractable != null)
 | 
						|
                m_TargetInteractable.selectEntered.RemoveListener(OnSelected);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |