using UnityEngine;
namespace BehaviorDesigner.Runtime.Tasks.Movement
{
public abstract class Movement : Action
{
///
/// Set a new pathfinding destination.
///
/// The destination to set.
/// True if the destination is valid.
protected abstract bool SetDestination(Vector3 destination);
///
/// Specifies if the rotation should be updated.
///
/// Should the rotation be updated?
protected abstract void UpdateRotation(bool update);
///
/// Does the agent have a pathfinding path?
///
/// True if the agent has a pathfinding path.
protected abstract bool HasPath();
///
/// Returns the velocity of the agent.
///
/// The velocity of the agent.
protected abstract Vector3 Velocity();
///
/// Has the agent arrived at the destination?
///
/// True if the agent has arrived at the destination.
protected abstract bool HasArrived();
///
/// Stop pathfinding.
///
protected abstract void Stop();
}
}