using UnityEngine; namespace DDD { public interface IAiMovement { Vector3 CurrentPosition { get; } Vector3 Destination { get; } float CurrentSpeed { get; } bool IsMoving { get; } void EnableMove(); void DisableMove(); void PlayMove(); void StopMove(); void SetMoveSpeed(float speed); bool TryMoveToPosition(Vector3 position); bool TryMoveToTarget(Collider targetCollider); Vector3 GetRandomBetweenTwoPoints(Vector2? normalizedRange = null); bool TryTeleportToPosition(Vector3 position); bool HasReachedDestination(); bool IsPositionMovable(Vector3 endPosition); bool TryMoveToRandomPositionInRange(float range, int graphIndex = 0); } }