package actor;
import render.Geometry;
public interface Actor
{
public void update(WorldState ws);
public void addBehavior(Behavior behavior);
public void removeBehavior(Behavior behavior);
public void removeAllBehaviors();
public void setAnimationTravel(double animationTravel);
public double getAnimationTravel();
public Geometry getGeometry();
public BehaviorArbitrator getCurrentArbitrator();
public void setArbitrator(ActorArbitrator arbitrator);
public BehaviorList getBehaviors();
public void setBehaviors(BehaviorList behaviors);
public Point3D getDirection();
public void setDirection(Point3D direction);
public ActorGeometry getModel();
public void setModel(ActorGeometry model);
public Point3D getPosition();
public void setPosition(Point3D position);
public Point3D getSize();
public void setSize(Point3D size);
public double getUniformSize();
public void setUniformSize(double size);
public Point3D getVelocity();
public void setVelocity(Point3D velocity);
public double getX();
public double getY();
public double getZ();
public void updateMotion(MotionChange p);
}