SW 중심대학 OSS GIT 서버 새로운 리포
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
1011 B

5 years ago
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.XR.Interaction.Toolkit;
  5. public class XRExclusiveSocketInteractor : XRSocketInteractor
  6. {
  7. public string AcceptedType; //SocketTarget의 SocketType과 비교할 값
  8. public override bool CanSelect(XRBaseInteractable interactable)
  9. {
  10. //이 소켓과 인터렉션하려는 사물의 SocketTarget을 가져오고
  11. SocketTarget socketTarget = interactable.GetComponent<SocketTarget>();
  12. //SocketTarget이 없으면 선택 불가
  13. if (socketTarget == null)
  14. return false;
  15. //baseClass에서도 선택할 수 있고, SocketTarget의 타입도 같으면 선택 가능하게
  16. return base.CanSelect(interactable) && (socketTarget.SocketType == AcceptedType);
  17. }
  18. //선택 가능한 사물만이 Hover 가능하도록
  19. public override bool CanHover(XRBaseInteractable interactable)
  20. {
  21. return CanSelect(interactable);
  22. }
  23. }