2026-07-06 테스트 로직 진행중

This commit is contained in:
2026-07-06 12:58:18 +09:00
parent f8a6bba6ed
commit 7d2238240b
393 changed files with 46804 additions and 12 deletions

View File

@@ -0,0 +1,51 @@
using UnityEngine;
using UnityEngine.XR.Interaction.Toolkit;
using UnityEngine.XR.Interaction.Toolkit.Interactables;
using HighlightPlus;
/// <summary>
/// 호버 중이고 선택되지 않은 상태에서만 HighlightPlus 외곽선 표시.
/// </summary>
[RequireComponent(typeof(XRBaseInteractable))]
[RequireComponent(typeof(HighlightEffect))]
public class ObjHoverHighlight : MonoBehaviour
{
private HighlightEffect _highlight;
private XRBaseInteractable _interactable;
private void Awake()
{
_interactable = GetComponent<XRBaseInteractable>();
if (_highlight == null) _highlight = GetComponent<HighlightEffect>();
_highlight.highlighted = false;
}
private void OnEnable()
{
_interactable.hoverEntered.AddListener(OnHoverEntered);
_interactable.hoverExited.AddListener(OnHoverExited);
_interactable.selectEntered.AddListener(OnSelectEntered);
_interactable.selectExited.AddListener(OnSelectExited);
Refresh();
}
private void OnDisable()
{
_interactable.hoverEntered.RemoveListener(OnHoverEntered);
_interactable.hoverExited.RemoveListener(OnHoverExited);
_interactable.selectEntered.RemoveListener(OnSelectEntered);
_interactable.selectExited.RemoveListener(OnSelectExited);
_highlight.highlighted = false;
}
private void OnHoverEntered(HoverEnterEventArgs _) => Refresh();
private void OnHoverExited(HoverExitEventArgs _) => Refresh();
private void OnSelectEntered(SelectEnterEventArgs _) => Refresh();
private void OnSelectExited(SelectExitEventArgs _) => Refresh();
private void Refresh()
{
// 잡지 않은 상태로 호버 중일 때만 하이라이트
_highlight.highlighted = _interactable.isHovered && !_interactable.isSelected;
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 57b87dc7f86d89e4d84bbccd790e46b4