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(); // 현재 이동 중인지 여부 }