2026-06-18 많은 플레이어 수정사항
This commit is contained in:
20
Assets/02_Scripts/Interaction/InteractionObject.cs
Normal file
20
Assets/02_Scripts/Interaction/InteractionObject.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using UnityEngine;
|
||||
|
||||
// 상호작용 가능한 오브젝트의 베이스. InteractionDetector가 이 타입을 감지하고 Interact()를 호출한다.
|
||||
// 감지를 위해 Collider가 반드시 필요 (RequireComponent로 강제).
|
||||
[RequireComponent(typeof(Collider))]
|
||||
public abstract class InteractionObject : MonoBehaviour
|
||||
{
|
||||
[SerializeField] protected string _promptText = "상호작용"; // UI 프롬프트 문구 (예: "앉으려면 E")
|
||||
|
||||
[SerializeField] protected Transform _interactionPos;
|
||||
|
||||
// 지속형 상호작용이 진행 중인지 (예: 앉아있는 중).
|
||||
// true인 동안 디텍터는 대상을 이 오브젝트로 잠가, 다음 키 입력이 종료(해제)로 가게 한다.
|
||||
public bool IsInteracting { get; protected set; }
|
||||
|
||||
public virtual string PromptText => _promptText;
|
||||
|
||||
// 상호작용 키를 눌렀을 때 호출. 시작/종료(토글) 여부는 각 구현이 결정한다.
|
||||
public abstract void Interact(PlayerController player);
|
||||
}
|
||||
Reference in New Issue
Block a user