List deliveryPoints = Arrays.asList(
point("Delivery1"),
point("Delivery2"),
point("Delivery3"));
// 由于任务是按顺序交付的,因此在运行“Main”流程之前,需要将传递给区域动作的代理排序。
deliveryPoints.sort(Comparator.comparingInt(p -> p.getIndex()));
for (Point deliveryPoint : deliveryPoints) {
moveTo(deliveryPoint);
//执行交付任务
//...
select(TransporterAgent.class).get(0).setLocation(deliveryPoint);
}
Point startPoint = point("StartPoint");
Point endPoint = point("EndPoint");
List deliveryPoints = Arrays.asList(
point("Delivery1"),
point("Delivery2"),
point("Delivery3"));
// 由于任务是按顺序交付的,因此需要将送货点排序。
deliveryPoints.sort(Comparator.comparingInt(p -> p.getIndex()));
moveTo(startPoint);
for (Point deliveryPoint : deliveryPoints) {
moveTo(endPoint);
select(DeliveryAgent.class)
.filter(a -> a.free())
.nearestTo(deliveryPoint)
.start(deliveryPoint);
//等待任务完成
hold(deliveryTime.sample());
}
moveTo(startPoint);
使用这