using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.XR.Interaction.Toolkit; public class XRExclusiveSocketInteractor : XRSocketInteractor { public string AcceptedType; //SocketTarget의 SocketType과 비교할 값 public override bool CanSelect(XRBaseInteractable interactable) { //이 소켓과 인터렉션하려는 사물의 SocketTarget을 가져오고 SocketTarget socketTarget = interactable.GetComponent(); //SocketTarget이 없으면 선택 불가 if (socketTarget == null) return false; //baseClass에서도 선택할 수 있고, SocketTarget의 타입도 같으면 선택 가능하게 return base.CanSelect(interactable) && (socketTarget.SocketType == AcceptedType); } //선택 가능한 사물만이 Hover 가능하도록 public override bool CanHover(XRBaseInteractable interactable) { return CanSelect(interactable); } }