package ge.edu.freeuni.sdp.snake.model;
public class ObservableMouseBeing extends MovingMouseBeing implements DirectionObserver {
private PositionObserver positionObserver;
public ObservableMouseBeing(Point point) {
this(point,Direction.RIGHT);
}
public ObservableMouseBeing(Point point, Direction direction) {
super(point);
setDirection(direction);
}
@Override
protected void moveTo(Point point) {
super.moveTo(point);
if (positionObserver!=null) {
positionObserver.notifyMoveTo(point);
}
}
public void setPositionObserver(PositionObserver positionObserver) {
this.positionObserver = positionObserver;
}
@Override
public void notifyDirectionSet(Direction direction) {
setDirection(direction);
}
}