using UnityEngine;

namespace Northbound
{
    /// <summary>
    /// 상호작용 대상이 반드시 필요한 행동 (채광, 문 열기 등)
    /// </summary>
    public interface IInteractable
    {
        /// <summary>
        /// 상호작용 가능한지 여부
        /// </summary>
        bool CanInteract(ulong playerId);

        /// <summary>
        /// 상호작용 실행
        /// </summary>
        void Interact(ulong playerId);

        /// <summary>
        /// 상호작용 UI에 표시될 텍스트 (예: "[E] 채광하기")
        /// </summary>
        string GetInteractionPrompt();

        /// <summary>
        /// 플레이어가 재생할 애니메이션 트리거 이름 (없으면 null 또는 빈 문자열)
        /// </summary>
        string GetInteractionAnimation();

        /// <summary>
        /// 상호작용 시 사용할 장비 정보 (없으면 null)
        /// </summary>
        InteractionEquipmentData GetEquipmentData();

        /// <summary>
        /// 상호작용 오브젝트의 Transform
        /// </summary>
        Transform GetTransform();
    }
}