// <pre>

package actor;

/**
 * @author Robbins
 */
public class TravelBehavior extends AbstractBehavior
{
  MotionChange returnValue = new MotionChange();
  
  public MotionChange doBehavior(WorldState world, InvariantActor actor)
  {    
    
    double travel = actor.getSize().y * actor.getAnimationTravel();    
    
    returnValue.setOldValues(actor);
    returnValue.setNewPosition(
      Point3D.add(
        actor.getPosition(),
        Point3D.multiply(travel, actor.getDirection())));
            
    return returnValue;    
  }

}// end