using UnityEngine;
using UnityEngine.AI;

public abstract class Movement_Base: MonoBehaviour
{
    // 파생 클래스들이 사용할 수 있도록 protected로 선언
    protected NavMeshAgent _agent;
    protected Rigidbody _rb;

    protected virtual void Awake()
    { 
        // 파생 클래스에서 base.Awake()를 호출할 때 실행될 기본 로직 (비어있어도 됩니다)
    }
    
    // 모든 이동 타입이 반드시 구현해야 할 추상 메서드들
    public abstract void SetSpeed(float speed);
    public abstract void SetDestination(Vector3 target);
    public abstract void Stop();
    public abstract float GetCurrentSpeed(); // 애니메이션을 위해 현재 속도 반환
    public abstract bool IsMoving(); // 현재 이동 중인지 여부
}
