using UnityEngine; public class RaftRideEndHandler : MonoBehaviour { [Header("Player")] [SerializeField] private Transform xrOrigin; [Tooltip("도착 후 XR Origin을 뗏목에서 분리할지 여부")] [SerializeField] private bool detachPlayerFromRaft = true; [Header("Exit / Land")] [SerializeField] private Transform exitPoint; [Tooltip("도착 후 켤 육지 이동 구역, 안내 오브젝트, 길 표시 등")] [SerializeField] private GameObject landAreaObject; [Header("Next Mission")] [Tooltip("도착 후 활성화할 조개 미션 오브젝트")] [SerializeField] private GameObject clamMissionObject; [Tooltip("처음에는 꺼두었다가 나중에 기억의 조각 획득 후 켤 문")] [SerializeField] private GameObject nextDoorObject; public void OnRaftArrived() { Debug.Log("[RaftRideEndHandler] 뗏목 도착 처리 시작."); if (detachPlayerFromRaft && xrOrigin != null) { xrOrigin.SetParent(null); } if (exitPoint != null && xrOrigin != null) { // 강제로 이동시키고 싶지 않으면 이 부분은 주석 처리해도 됨. // xrOrigin.position = exitPoint.position; // xrOrigin.rotation = exitPoint.rotation; } if (landAreaObject != null) { landAreaObject.SetActive(true); } if (clamMissionObject != null) { clamMissionObject.SetActive(true); } if (nextDoorObject != null) { nextDoorObject.SetActive(false); } Debug.Log("[RaftRideEndHandler] 이제 플레이어가 육지로 이동해 조개 미션을 진행할 수 있습니다."); } }